imagecopyresized ожидает ошибку параметра: попытка сделать эскиз без искажений - PullRequest
0 голосов
/ 02 мая 2011

Я пытаюсь превратить изображение в миниатюру определенного размера без искажений (если изображение прямоугольное).

<?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 Ответ

0 голосов
/ 02 мая 2011

$imageName, который вы передаете, это просто имя файла. Вы должны предоставить дескриптор образа GD для аргументов источника и назначения:

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