【发布时间】:2014-06-03 04:20:13
【问题描述】:
我正在使用以下代码来调整图像大小。上传透明图像 (png/gif) 时,创建的新图像具有黑色背景。调整大小后如何使背景变白?请帮忙
$info = pathinfo($_FILES['file']['name']);
$ext = $info['extension']; // get the extension of the file
$newname = "testing".".".$ext;
$target = 'uploads/'.$newname;
move_uploaded_file( $_FILES['file']['tmp_name'], $target);;
$filename=$newname;
if($ext=='jpg'||$ext=='jpeg')
{
$im = imagecreatefromjpeg('uploads/'.$filename);
}
else if ($ext=='gif')
{
$im = imagecreatefromgif('uploads/'.$filename);
}
else if ($ext=='png')
{
$im = imagecreatefrompng('uploads/'.$filename);
}
$ox = imagesx($im);
$oy = imagesy($im);
$nm = imagecreatetruecolor(245, 184);
imagealphablending( $nm, FALSE );
imagesavealpha( $nm, TRUE );
imagecopyresized($nm, $im, 0,0,0,0,245,184,$ox,$oy);
imagejpeg($nm, 'uploads/' . $filename);
【问题讨论】:
-
尝试在白色背景上绘制图像,然后另存为 JPG。
-
怎么做?有什么功能吗?
-
@Overv 怎么办?
-
请参阅github.com/claviska/SimpleImage/issues/28 了解对我有用的方法
标签: php image transparency gd image-resizing