Здравствуйте, столкнулся с такой проблемой. Код (Text): header ("Content-type: image/png"); //Выводим Фон if (!$img = @imagecreatefromjpeg('images/160x300/'.$skin.'.jpg')) { $img = imagecreatefromjpeg('images/160x300/no-skin.jpg'); } //Накладываем картинку карты на фон if (!$i = @imagecreatefromjpeg("../images/maps/".$game."/".$serv['server_map'].".jpg")) { $i = imagecreatefromjpeg('banners-gameamx/default1.jpg'); } imagecopyresampled($img, $i, 34, 105, 0, 0, 120, 90, 160, 120); накладываю картинку на фон. Размер изображения 160x120 px Выводит прекрасно. Но, если картинка имеет размер больше чем 160x120 То он ее не сжимает до 160x120 а вставляет такую, какая есть. И показывается в квадратике размером 160x120 всего лишь верхний угол этого большого изображения. И оно нормально не отображается. Подскажите пожалуйста, как сделать чтобы не важно какой размер был. Изображение выводилось строго в размере 160х120 ??
посмотрите в форуме обработки изображений есть готовые скрипты которые выполняют задачу называемую image resize. или с этим запросом в гугл.
Код (Text): $img=imageCreateFromPNG("2/Style/logo.png"); $w=ImageSX($img); $h=ImageSY($img); $maxW=100; $maxH=100; $ratioWidth = $w/$maxW; $ratioHeight = $h/$maxH; if ($ratioWidth < $ratioHeight){ $destW = $w/$ratioHeight; $destH = $maxH; } else { $destW = $maxW; $destH = $h/$ratioWidth; } $destImage = imagecreate($destW, $destH); ImageCopyResized($destImage, $img, 0, 0, 0, 0, $destW, $destH, $w, $h); imagepng($destImage, "images/logo/1.png", 9, PNG_ALL_FILTERS);