Я пришел с этим:На лету эскизы PHP
<?php
$dir = $_GET['dir'];
header('Content-type: image/jpeg');
$create = imagecreatetruecolor(150, 150);
$img = imagecreatefromjpeg($dir);
imagecopyresampled($create, $img, 0, 0, 0, 0, 150, 150, 150, 150);
imagejpeg($create, null, 100);
?>
Он работает путем доступа:
Который работает отлично ... но выход является ужасным:
alt text http://i47.tinypic.com/119s47a.jpg
Может ли кто-то исправить мой код для изображения 150 x 150, покрывающий черную область ...
Спасибо.
РЕШЕНИЕ:
<?php
$dir = $_GET['dir'];
header('Content-type: image/jpeg');
list($width, $height) = getimagesize($dir);
$create = imagecreatetruecolor(150, 150);
$img = imagecreatefromjpeg($dir);
$newwidth = 150;
$newheight = 150;
imagecopyresized($create, $img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagejpeg($create, null, 100);
?>
Вы также можете использовать .htaccess переписать URL и есть пути, такие как: http://domain.com/imagephp/thisistheimage.jpg –
Вы должны сохранить копию измененного изображения с параметрами ширина/высота в имя файла и проверить, существует ли оно перед обработкой и обслуживать его, чтобы вы оставили нагрузку на сервере. Также используйте imagedestroy ($ create) после imagejpeg(), чтобы освободить память. – stagas