调整图像输出文件名的大小问题

时间:2012-11-30 19:27:00

标签: php gd

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

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

3 个答案:

答案 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()。

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

答案 2 :(得分:0)

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

imagejpeg($dst, "$output", 60);