【问题标题】:PHP image resize with GD使用 GD 调整 PHP 图像大小
【发布时间】:2012-08-12 18:57:53
【问题描述】:

所以我正在编写一个上传脚本(这是我在 PHP 方面的第一次体验),我遇到了一个问题:

上传正常,文件被上传到'../images/'而不是重命名为mysql ID。 完成后,我想将图像大小调整为 96px x 96px。比问题开始:

我确实正确安装了 GD(使用脚本测试),这是我的“调整大小”代码:

$orig_image = imagecreatefromjpeg("../image/$newname");
$sm_image = Imagecreate(96,96);
Imagecopyresized($sm_image,$orig_image,0,0,0,0,50,50,imagesx($orig_image),imagesy($orig_image));
imageJPEG($sm_image);

我得到的结果不是调整大小的图像,图像文件完全相同,但我确实得到了:

RéussiÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC       $.' ",#(7),01444'9=82<.342ÿÛC     2!!22222222222222222222222222222222222222222222222222ÿÀ``"ÿÄ   ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ     ÿĵw!1AQaq"2B‘¡±Á  #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ?ðØãÍYK}ݪh"Éé]6‹¥B¢;˦M§%bqôÇ×9¯>¾!SWgÔá0Ö¹‘iáûÛј-݆3é‘ê3Ö¤“ÃW‘Åæ4nHÈ ôëÒ½ÍÞpÐ[4~n îRÆ:€~ƒÚ¢¹žrbV,O žyFqŒcvéŸzò´*¹ZÈõ–ŠÑ£Ë®,ŠŽeË    Bx¯HÕ¬âž2茲©çqáò2ñ÷®>þØuƒ^®Îµ<œÇ+Š‹œAÒ–œëµÈ#Úôœµ´ (¢Q@N›n.."‰†UœnÇËÔóÛŒ×|ó[,o¹ŒoŒ°øSÓë\.™(‚D”…<çÐŒç]m»\_Û—´¼Æh‹$c®O9Á==}>s›’od}ö)SL œ‘ÜK4xGb´}Kìù³ô Ÿò+AnæOÜ„SI½U;rFpO$ƒƒž¤˜¬‹†¸³VزJd ác°n€8Ïõïšµ 鹓ÊXæg9@™Þ¨§9À8ãon•É8I¤Þ¦îÌ•ü©'؈©FeG'°àçƒùŒ’Er:ý´+©O¢±ˆ¶PHÏ8üë§û@0•XÊü¡¦’ry°{qšlí´»{SSlÌü[B3¸Œ`ç¦oÀãµkBn”¯øw"¬T£fyü oxñ?ÞIöÈúÕj¹ªÌ×”Ò±Éb?ªuôÔïÈ®|!%Zj;]þaEU˜…Q@>z‘Œ0‚=«®ÐutFrÊÞx‘6õ|ƒÎîÇÿ­é^e ÑCZ0ê3Çzòñ8?h™õx<Òœ £3Ò Žæò%–u+3LÏ2Œ”q’ON„c¸Ï"­K$«t³Fö±Èîùjw‡+‚1Æ}xõõâ¸[oÞ[¬j$"}êæÁçüMMqâÛé”(tˆàE¯_p3^d°5œºXôþ³IësPÕ`µÛ@O›&w;Ôã9ãõÈ®sXÕ¥»|¼ŒÄn,IosšÍ¸Ô¤˜îfɬù®wµÝ‡Á¨Y½ÎLN>œbÔJWGuËŸ§ò¨iÎw94Úö²>>¤¹¦ßvQE2Š( À§‡aÐÓh iÛbA4ƒø¨óåþ÷éQÑK•í'Ý’yÒ{ô¦cÔÒQEœä÷aES$(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢ŠÿÙ

关于让它发挥作用的任何提示?

提前致谢!

【问题讨论】:

  • 你的标题设置正确了吗?
  • 所以我添加了标题,现在我只得到一个空图像,html 链接到 scrpt () -> 查看较低的答案:)跨度>

标签: php image upload resize gd


【解决方案1】:

别忘了加headers

header("Content-Type: image/jpeg");

既然你想要 96x96,它应该是:

imagecopyresized($sm_image,$orig_image,0,0,0,0,96,96,imagesx($orig_image),imagesy($orig_image));

【讨论】:

  • 所以我添加了标题,现在我只得到一个空图像,html 链接到 scrpt ()
  • 您知道脚本只是临时调整图像大小吗?您应该保存它以便以后使用它imagejpeg($sm_image, $path, $quality);
  • 是的,效果很好!图像确实会调整大小并保存,但比例似乎完全不同,我尝试过使用 740x740 的图像,而小版本根本不是一回事,有什么提示吗?
  • 使用 sm_image = imagecreatetruecolor(96,96); => 更好的图像质量,感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-04
  • 2010-11-03
  • 2012-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-09
相关资源
最近更新 更多