Witam,
napisałem taką oto funkcję wykorzystującą GD do zmiany rozmiaru obrazka oraz do wyświetlenia ramki:
<?php
function resize($zdjecie)
{
$img = imagecreatefromjpeg($zdjecie);
$size = getimagesize($zdjecie);
$width = 140;
$height = $size[1] * $width/$size[0];
if ($height>105) {
$height = 105;
$width = $size[0] * $height/$size[1];
}
$im = imagecreatetruecolor($width,$height);
imagecopyresampled($im, $img, 0, 0, 0, 0, $width, $height, imagesx($img), imagesy($img));
$destinationSize = array(imagesx($im)+6, imagesy($im)+6);
$destination = imagecreatetruecolor($destinationSize[0],$destinationSize[1]);
$white = imagecolorallocate($destination, 255, 255, 255);
$border = imagecolorallocate($destination, 59, 70, 77);
$rog = imagecolorallocate($destination, 58, 68, 76);
imagefill($destination, 0, 0, $white);
imagecopyresampled($destination, $im, 3, 3, 0, 0, imagesx($im),imagesy($im),imagesx($im),imagesy($im));
//top
imageline($destination, 1,0, $destinationSize[0]-2,0, $border);
imagesetpixel($destination, 0,0, $rog);
//lewa
imageline($destination, 0,1,0,$destinationSize[1]-2, $border);
imagesetpixel($destination, 0,$destinationSize[1]-1, $rog);
//prawa
imageline($destination, $destinationSize[0]-1,1,$destinationSize[0]-1,$destinationSize[1]-2, $border);
imagesetpixel($destination, $destinationSize[0]-1,$destinationSize[1]-1, $rog);
//bottom
imageline($destination, 1,$destinationSize[1]-1, $destinationSize[0]-2,$destinationSize[1]-1, $border);
imagesetpixel($destination, $destinationSize[0]-1,0, $rog);
header('Content-Type: image/jpeg');
imagejpeg($destination);
}
resize("tlo.jpg");
resize("morze.jpg");
resize("morze2.jpg");
?>
Problem polega na tym, że nie mogę wyświetlić 3 obrazków na raz, bo kod wykona się takjakby raz dla jednego obrazka i na tym poprzestaje... Czy ktoś ma jakiś pomysł jak to naprawić, ewentualnie jak usprawnić skrypt? Do ImageMagick nie mam dostępu...