我遇到以下代码的问题,由于某种原因我收到以下错误:
**Warning: imagejpeg() expects parameter 1 to be resource**
使用以下代码:
$image = "image1.png";
$output = "filename.jpg";
// Call function
$img = resize_image($image, $output);
function resize_image($file, $output) {
imagejpeg($img, $output, 60);
}
我基本上是尝试将输出文件名($output = "filename.jpg";
)传递到imagejpeg()
函数,但得到上述错误。
答案 0 :(得分:3)
看起来您的输入参数是个问题。试试这个:
$image = "image1.png";
$output = "filename.jpg";
// Call function
$img = resize_image($image, $output);
function resize_image($file, $output) {
imagejpeg(imagecreatefromjpeg($img), $output, 60);
}
答案 1 :(得分:1)
它在文档中说你需要将参数传递给属于resource类型的函数。换句话说,您需要使用图像创建功能创建图像资源对象,例如imagecreatetruecolor():
image - 由图像创建之一返回的图像资源 函数,例如imagecreatetruecolor()。
答案 2 :(得分:0)
非常简单,问题不在于$ output而是输入变量。我转换图像并调整其中$dst
结果的大小。
imagejpeg($dst, "$output", 60);