Php ImageCopy重采样问题&x2013;右下黑色边框…;
第一种选择有效,第二种不行…我不明白为什么?我拍摄一幅1500×1500像素的图像,如果它通过第一个选项,结果是正确的,如果它通过第二个选项,我会在右边和底部得到一个黑色边框Php ImageCopy重采样问题&x2013;右下黑色边框…;,php,image,Php,Image,第一种选择有效,第二种不行…我不明白为什么?我拍摄一幅1500×1500像素的图像,如果它通过第一个选项,结果是正确的,如果它通过第二个选项,我会在右边和底部得到一个黑色边框 if ($this_imagesize[0] > 1000) { $thumb_source = imagecreatefromjpeg('/path/' . $this_image_id . '.jpg'); $thumbnail = imagecreatetruecolo
if ($this_imagesize[0] > 1000)
{
$thumb_source = imagecreatefromjpeg('/path/' . $this_image_id . '.jpg');
$thumbnail = imagecreatetruecolor(1000, intval(1000 * ($this_imagesize[1] / $this_imagesize[0])));
imagefill($thumbnail, 0, 0, imagecolorallocate($tn, 255, 255, 255));
imagecopyresampled($thumbnail, $thumb_source, 0, 0, 0, 0, 1000, intval(1000 * ($this_imagesize[1] / $this_imagesize[0])), $this_imagesize[0], $this_imagesize[1]);
unlink('/path/' . $this_image_id . '.jpg');
imagejpeg($thumbnail, '/path/' . $this_image_id . '.jpg', 75);
}
if ($this_imagesize[1] > 1000)
{
$thumb_source = imagecreatefromjpeg('/path/' . $this_image_id . '.jpg');
$thumbnail = imagecreatetruecolor(intval(1000 * ($this_imagesize[0] / $this_imagesize[1])), 1000);
imagecopyresampled($thumbnail, $thumb_source, 0, 0, 0, 0, intval(1000 * ($this_imagesize[0] / $this_imagesize[1])), 1000, $this_imagesize[0], $this_imagesize[1]);
unlink('/path/' . $this_image_id . '.jpg');
imagejpeg($thumbnail, '/path/' . $this_image_id . '.jpg', 75);
}
当它不工作时,您收到了哪些错误消息?这是什么语言?没有错误消息第二个if语句只生成一个黑色边框的图像…它是PHP…发生这种情况是因为您创建的背景层比上面的大,所以背景(在photoshop之类的程序中是透明的)是黑色的。您可能没有正确计算尺寸。