调整大小png/jpeg图像
问题描述:
<?php
header('Content-type:image/gif');
header('Content-Disposition: attachment; filename="animated.gif"');
require_once('GIFEncoder.class.php');
$image = imagecreatefrompng('source01.png');
$width = 50;
$height = 50;
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $width, $height, 200, 115);
$text_color = imagecolorallocate($image, 50, 50, 50);
imagestring($image, 5, 5, 5, '', $text_color);
/* $imageMagick = new Imagick($image);
$imageMagick->adaptiveResizeImage(50,50); */
ob_start();
imagegif($image);
$frames[]=ob_get_contents();
$framed[]=40;
ob_end_clean();
$gif = new GIFEncoder($frames,$framed,0,2,0,0,0,'bin');
echo $gif->GetAnimation();
//$fp = fopen('animegif.gif', 'w');
//fwrite($fp, $gif->GetAnimation());
//fclose($fp);
?>
是否有任何方法通过代码将.png图像调整为静态50x50px值?由于调整大小png/jpeg图像
答
它可以像这样使用:
$width = 50;
$height = 50;
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $width, $height, $image.getWidth)=(), $image.getHeight());
答
您可以使用imagemagic为
http://www.php.net/manual/en/imagick.resizeimage.php
http://www.php.net/manual/en/imagick.adaptiveresizeimage.php
+0
我试过最后一个链接。当我使用它时(请参阅注释行)我得到一个不可读的gif:/ – Johan 2012-04-21 21:46:43
你的榜样更新,但克被压缩的gif(基于.png)保持其原始大小。我错过了什么? :-) – Johan 2012-04-21 21:46:03
你没有使用$ new_image。 – Mads 2012-04-21 21:49:37
* facepalm *,谢谢 – Johan 2012-04-21 21:51:07