imagecopyresized 预期参数错误:尝试制作不失真的缩略图

Posted

技术标签:

【中文标题】imagecopyresized 预期参数错误:尝试制作不失真的缩略图【英文标题】:imagecopyresized expects parameter error: trying to make thumbnail without distortion 【发布时间】:2011-05-02 05:10:45 【问题描述】:

我正在尝试将图像制作成具有一定大小而不会失真的缩略图(如果图像是矩形)。

<?php
$sql = mysql_query("SELECT * FROM images ORDER BY date DESC LIMIT 30");
$img = 'img/'; //this is where my files are.
while($row = mysql_fetch_array($sql))


$imageName = $img.$row['images'];
$tempImage = imagecreatetruecolor(150,150);
$thumbnail = imagecopyresampled($tempImage,$imageName,0,0,0,0,150,150,150,150);
echo $thumbnail;
?>
<div id='<?php echo $imageID; ?>' class='images' style=''>
<img src='<?php echo $imageName; ?>' style='height:150px;width:150px;'/>
</div>
<?php

?>

这就是我的代码现在的样子,我需要一些帮助。我有一个代码:

<img src='<?php echo $imageName; ?>' style='height:150px;width:150px;'/>

只是看看它在高度和宽度样式下的样子,但这当然会显示失真。

当我 echo $thumbnail; 它给我 imagecopyresized() 预期参数错误。

感谢您的帮助:)

【问题讨论】:

【参考方案1】:

您传入的$imageName 只是一个文件名,它会出现。您必须为源参数和目标参数提供 GD 图像句柄:

$src = imagecreatefromjpeg('somepicture.jpg');
$dst = imagecreatetruecolor(150,150);
$status = imagecopyresampled($dst, $src, etc....);

【讨论】:

我做了$src = imagecreatefromjpeg('img/somepicture.jpg');,但它只显示数字1? 该数字是图像的内部 GD 句柄。它不是图像本身。 您必须通过单独的请求来提供它,或者将其保存到文件中并将您的 html 指向该文件。您不能按原样创建图像并在脚本中提供它 - 您不能(除了某些不适用的例外情况)在同一个脚本中混合图像和 html。

以上是关于imagecopyresized 预期参数错误:尝试制作不失真的缩略图的主要内容,如果未能解决你的问题,请参考以下文章

imagecopyresized() 返回黑色缩略图

突破php 的imagecopyresampled 和imagecopyresized 实现图片马 JPG

我收到错误错误类型参数一元减号和预期';'在 ':' 标记之前

错误的预期参数类型

失败/错误:需要'rspec/rails'类型错误:错误的参数类型类(预期模块)Rspec V3

我有 3 个错误:预期为 ")" ,预期为表达式,long 类型的参数与 U32 类型的参数不兼容