【发布时间】:2011-07-21 20:40:31
【问题描述】:
$tmp_im = imagecreatetruecolor($width, $height);
$x = $this->getX();
$y = $this->getY();
$w = floor($resize_height * ($x / $y));
$h = $resize_height;
$this->tmp_im = imagecreatetruecolor($w, $h);
imagealphablending($this->tmp_im, false);
imagesavealpha($this->tmp_im, true);
imagecopyresampled($this->tmp_im, $this->im, 0, 0, 0, 0, $w, $h, $this->getX(), $this->getY());
$this->im = $this->tmp_im;
$hs = floor(($width - $this->getX())/2);
$vs = floor(($height - $this->getY())/2);
imagecopy($tmp_im, $this->im, $hs, $vs, 0, 0, $this->getX(), $this->getY());
$this->im = $tmp_im;
结果是一个质量差的调整大小的图像,我做错了什么?我还尝试使用质量 = 100 的 imagejpeg
【问题讨论】:
-
里面有一些奇怪的赋值,首先你创建 tmp_im,然后你创建 $this->tmp_im,然后你把 $this->tmp_im 赋值给 $this->im,然后你赋值$tmp_im 到 $this->im。那么你输出的是哪些东西?可能是错误的,还是不完整的?