为啥裁剪图像后会出现黑色区域​​?

Posted

技术标签:

【中文标题】为啥裁剪图像后会出现黑色区域​​?【英文标题】:Why does black area exist after cropping image?为什么裁剪图像后会出现黑色区域​​? 【发布时间】:2014-01-15 07:50:57 【问题描述】:

我的代码裁剪图像:

 function cropimage($x1,$y1,$newwidth, $newheight) 
            $new_image = imagecreatetruecolor($newwidth, $newheight);
            imagecopyresampled($new_image, $this->image, $x1, $y1, 0, 0, $newwidth, $newheight, $this->getWidth(), $this->getHeight());
            $this->image = $new_image;
            $this->image->save($file);
        

结果:

为什么裁剪后会有黑色区域?如何调整它的大小?

【问题讨论】:

正如手册在imagecopyresampled 中所说,第三个和第四个参数用于目的地x 和y,它们应该是0 0,第五个和第六个应该是$x1$y1 我想。 .. 我试过了,但是不行 作为图像结果:位置裁剪是正确的,它只是不能删除黑色区域。 最终图像大小是否正确cropped 大小?还是原来的尺寸? 图像结果:黑色区域和裁剪区域图像都是裁剪尺寸 【参考方案1】:

这段代码没问题:

 imagecopyresampled($new_image, $this->image, 0, 0, $x1, $y1, $this->getWidth(), $this->getHeight(), $newwidth, $newheight);

【讨论】:

以上是关于为啥裁剪图像后会出现黑色区域​​?的主要内容,如果未能解决你的问题,请参考以下文章

旋转图像并裁剪黑色边框

请问为啥arcgis纠正后的图像是黑色的呢?

如何裁剪轮廓的内部区域?

获取图像黑色边框内的区域

拼接后裁剪图像

干预裁剪后的 png 图像周围的黑色边框