0

我在使用下面的代码时遇到问题,由于某种原因,我收到以下错误:

**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()函数,但出现上述错误。

4

3 回答 3

3

看起来您的输入参数是问题所在。尝试这个:

$image = "image1.png";
$output = "filename.jpg";

// Call function
$img = resize_image($image, $output);

function resize_image($file, $output) {
  imagejpeg(imagecreatefromjpeg($img), $output, 60);
}
于 2012-11-30T19:36:25.893 回答
1

它在文档中说您需要将参数传递给资源类型的函数。也就是说,需要使用图片创建函数来创建图片资源对象,比如imagecreatetruecolor():

image - 由图像创建函数之一返回的图像资源,例如 imagecreatetruecolor()。

http://php.net/manual/en/function.imagejpeg.php

于 2012-11-30T19:31:11.910 回答
0

非常简单,问题不在于 $output 而在于输入变量。我转换图像并调整$dst结果大小。

imagejpeg($dst, "$output", 60);
于 2012-11-30T19:32:05.983 回答