PHP Advanced Image Resizing, аналогично тому, как iOS изменяет размеры изображений - PullRequest
0 голосов
/ 07 декабря 2011

Мне нужна страница PHP, которая возьмет изображение и изменит его размер, как это делает Apple iOS, что действительно странно, но я обязательно добавлю несколько примеров.Для этого он берет изображение, размещает две половины изображения на противоположных сторонах и заполняет середину двумя пикселями, которые начинаются посередине, создавая большее изображение из меньшего.Скажем вот что входит в функцию php:

enter image description here

И будет выведено php следующим образом:

large

IЯ не очень хорошо разбираюсь в php и GD, поэтому я понятия не имею, с чего начать.Но размер изображения должен быть увеличен до 320 пикселей в ширину, а высота останется прежней.Большое спасибо всем, кто может написать такой код манипулирования изображениями.

1 Ответ

1 голос
/ 07 декабря 2011

Вот, пожалуйста:

function MagicStretch(&$image,$newwidth)
{
$width=imagesx($image);
$height=imagesy($image);

$halfwidth=round(($width-2)/2);

$new=imagecreatetruecolor($newwidth,$height);
imagecopyresized($new,$image,$halfwidth,0,$halfwidth-1,0,$newwidth-($halfwidth*2),$height,2,$height);
imagecopy($new,$image,0,0,0,0,$halfwidth,$height);
imagecopy($new,$image,$newwidth-$halfwidth,0,$width-$halfwidth,0,$halfwidth,$height);
imagedestroy($image);
return $new;
}

$image = imagecreatefrompng('whatever.png');
$image = MagicStretch($image,320);
imagepng($image,'whatever_new.png');
...