gpt4 book ai didi

php - 如何使用 Gd 库调整图像大小? PHP

转载 作者:行者123 更新时间:2023-12-02 04:29:37 25 4
gpt4 key购买 nike

收到客户端发来的图片后,想调整大小,然后存储。我正在使用这个功能:

function PIPHP_ImageResize($image, $w, $h)
{
$oldw = imagesx($image);
$oldh = imagesy($image);
$temp = imagecreatetruecolor($w, $h);
imagecopyresampled($temp, $image, 0, 0, 0, 0,
$w, $h, $oldw, $oldh);
return $temp;
}
$image = PIPHP_ImageResize($_FILES['file']['tmp_name'],10,10);
move_uploaded_file($image, $newname);

不幸的是我收到了这些警告:

  1. 警告:imagesx() 要求参数 1 为资源,给定的字符串...
  2. 警告:imagesy() 期望参数 1 是资源,给定的字符串......
  3. 警告:imagecopyresampled() 期望参数 2 为资源,给定字符串 ...
  4. 警告:move_uploaded_file() 要求参数 1 为字符串,给定资源 ...

我该如何解决这个问题!!

最佳答案

imagesx 期望图像资源作为第一个参数。您必须使用适当的函数创建一个,imagecreatefromjpegimagecreatefrompng例如。

function PIPHP_ImageResize($image, $w, $h)
{
$oldw = imagesx($image);
$oldh = imagesy($image);
$temp = imagecreatetruecolor($w, $h);
imagecopyresampled($temp, $image, 0, 0, 0, 0, $w, $h, $oldw, $oldh);
return $temp;
}

if (move_uploaded_file($_FILES['file']['tmp_name'], $newname)) {
$uploadedImage = imagecreatefromjpeg($newname);
if (!$uploadedImage) {
throw new Exception('The uploaded file is corrupted (or wrong format)');
} else {
$resizedImage = PIPHP_ImageResize($uploadedImage,10,10);
// save your image on disk
if (!imagejpeg ($resizedImage, "new/filename/path")) {
throw new Exception('failed to save resized image');
}
}
} else {
throw new Exception('failed Upload');
}

我添加了一个最小的和不足错误处理,你应该检查,例如,上传文件的格式并使用适当的图像创建器功能,或者检查上传的文件是否是图片。

附录

您可以使用 getimagesize 确定假定上传图像的类型功能。

getimagesize 返回一个数组。如果支持图像类型,则数组 [2] 值返回图像的类型。如果文件不是图像,或者其格式不受支持,则 array[0] 值为零。了解图像的文件格式后,您可以使用 imagecreatefromxxx 函数之一创建适当的图像。

关于php - 如何使用 Gd 库调整图像大小? PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24227323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com