为什么调整大小后的imagepng会创建一个黑色图像? [英] why imagepng after resize create a black image?

查看:429
本文介绍了为什么调整大小后的imagepng会创建一个黑色图像?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用代码调整图片大小:

i m trying to resize a image using code:

list($width,$height,$type,$attr)= getimagesize($_FILES['upload'.$num]['name']);
                $source = imagecreatefrompng($_FILES['upload'.$num]['name']);
                $thumb = imagecreatetruecolor(445,320);
                imagealphablending($thumb, false);
                imagesavealpha($thumb, true);  
                    imagecopyresampled($thumb,$source,0,0,0,0,445,320,$width,$height);
                imagepng($thumb,"../public/img/".$Nome,8);

but the output is always a black image..  anyone know why? 

谢谢

推荐答案

$ _ FILES ['upload'。$ num] ['name'] 只是上传的文件名,如flower.jpg,不是文件的完整路径。

$_FILES['upload'.$num]['name'] is just filename of uploaded like "flower.jpg" not full path to file.

$ _ FILES ['upload'。$ num] ['tmp_name'] 是实际文件的真正绝对路径上传到您的服务器(临时目录中的某个地方)

$_FILES['upload'.$num]['tmp_name'] is real absolute path to real file uploaded on your server (somewhere in temp directory)

您的代码应如下所示:

list($width,$height,$type,$attr)= getimagesize($_FILES['upload'.$num]['tmp_name']);
$source = imagecreatefrompng($_FILES['upload'.$num]['tmp_name']);






始终尝试调试您的第一个。使用 print_r($ _ FILES) var_dump($ _ FILES)等函数调试变量。

除了 $ _ FILES 变量的问题,你的代码应该可以正常工作:演示

except issue with $_FILES variable, your code should works fine: Demo

这篇关于为什么调整大小后的imagepng会创建一个黑色图像?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆