BLOB-PHP重新调整图像大小

BLOB-PHP重新调整图像大小,php,image,resize,blob,Php,Image,Resize,Blob,我在重新调整blob图像的大小时遇到了一个小问题。 我发现,我必须测量水滴的高度和宽度,但由于人们上传的图像不是正方形,我如何正确地重新调整它们的大小 基本上我想要一个300像素的最大宽度 我现在的代码是 $desired_width = 300; $desired_height = 300; $sth = mysql_query("SELECT photobase FROM userpictures WHERE id = '".$array[0]."'"); while($r =

我在重新调整blob图像的大小时遇到了一个小问题。 我发现,我必须测量水滴的高度和宽度,但由于人们上传的图像不是正方形,我如何正确地重新调整它们的大小

基本上我想要一个300像素的最大宽度

我现在的代码是

 $desired_width = 300;
 $desired_height = 300;

 $sth = mysql_query("SELECT photobase FROM userpictures WHERE id = '".$array[0]."'");

 while($r = mysql_fetch_assoc($sth)) {
      $blobcontents = $r["photobase"];

      $im = imagecreatefromstring($blobcontents);
      $new = imagecreatetruecolor($desired_width, $desired_height);

      $x = imagesx($im);
      $y = imagesy($im);

      imagecopyresampled($new, $im, 0, 0, 0, 0, $desired_width, $desired_height, $x, $y);

      imagedestroy($im);

      header('Content-type: <span class="posthilit">image</span>/jpeg');

      imagejpeg($new, null, 85);
$desired_width=300;
$所需高度=300;
$sth=mysql_query(“从userpictures中选择photobase,其中id=”“$array[0]”);
而($r=mysql\u fetch\u assoc($sth)){
$blobcontents=$r[“photobase”];
$im=imagecreatefromstring($BlobContent);
$new=ImageCreateTureColor($desired\u width,$desired\u height);
$x=图像x($im);
$y=图像系统($im);
imagecopyresampled($new、$im、0、0、0、0、$desired_width、$desired_height、$x、$y);
图像处理(港币);;
标题(“内容类型:图像/jpeg”);
imagejpeg($new,null,85);

调整图像大小并保持约束比例的简单方法:

<?php
// Constraints
$max_width = 100;
$max_height = 100;
list($width, $height) = getimagesize($img_path);
$ratioh = $max_height/$height;
$ratiow = $max_width/$width;
$ratio = min($ratioh, $ratiow);
// New dimensions
$width = intval($ratio*$width);
$height = intval($ratio*$height);
?>

BLOB如何在这种情况下
getimagesize($img\u path)
不是需要文件路径而不是文件内容的方法?