如何在 php 中保留图像裁剪时的透明颜色?(仅保存在 jpg 文件中)
Posted
技术标签:
【中文标题】如何在 php 中保留图像裁剪时的透明颜色?(仅保存在 jpg 文件中)【英文标题】:How to preserve transparent colors on image cropping in php?(Saving only in jpg files) 【发布时间】:2011-08-07 16:37:52 【问题描述】:当用户裁剪图像时,我试图将源图像的透明颜色保留到目标图像。我认为只有当图像是 gif 或 png 类型时,才会出现黑色而不是透明色。我做错了什么?
我也只想把图片保存为jpg格式
public function crop2ThumbNail($top, $left, $height, $width)
$this->imageResized = imagecreatetruecolor(100, 100);
$type = strtolower(substr(strrchr($this->image,"."),1));
if($type == "gif" or $type == "png")
imagecolortransparent($this->imageResized,imagecolorallocatealpha($this->imageResized, 0, 0, 0, 127));
imagealphablending($this->imageResized, false);
imagesavealpha($this->imageResized, true);
imagecopyresampled($this->imageResized, $this->image , 0, 0, $left, $top, 100, 100 , $width, $height);
public function saveImage($savePath, $imageQuality="75")
if (imagetypes() & IMG_JPG)
imagejpeg($this->imageResized, $savePath, $imageQuality);
else
//Alert wrong format
【问题讨论】:
【参考方案1】:php GD create a transparent png image
如果您搜索,您可能会找到更多。
遗憾的是,这并不像您期望的那样简单或直接。
【讨论】:
以上是关于如何在 php 中保留图像裁剪时的透明颜色?(仅保存在 jpg 文件中)的主要内容,如果未能解决你的问题,请参考以下文章