|
|
|
| Перематерился ))
Помогите пожалуйста, кто может... )
Необходимо вывести уменьшенное изображение на подложку (другое изображение)
Не понимаю, в чем дело, но ничего не выходит...
Будьте добры, напишите, как пример, мелкий скрипт на вывод изображения, ссылка на которое находится в перменной, например $kartinka, на другое изображение, например $img.
Наверное, надо использовать imagecopyresized? Или imagecopyresampled?
Попробовал... Но из за большого количества параметров запутался)
Максимум, чего я добивался - это вывод маленького изображения в браузер, или сохранение маленького изображения в папку...
Поможете?) | |
|
|
|
|
|
|
|
для: ar41k
(23.02.2010 в 23:49)
| | Вот вам в помощь:
<?
function img_resize($src, $dest, $width, $height, $rgb = 0xFFFFFF, $quality = 100) {
if (!file_exists($src)) return false;
$size = getimagesize($src);
if ($size === false) return false;
$kr = $size['0']/$size['1'];
$height = $width/$kr;
$format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
$icfunc = "imagecreatefrom" . $format;
if (!function_exists($icfunc)) return false;
$x_ratio = $width / $size[0];
$y_ratio = $height / $size[1];
$ratio = min($x_ratio, $y_ratio);
$use_x_ratio = ($x_ratio == $ratio);
$new_width = $use_x_ratio ? $width : floor($size[0] * $ratio);
$new_height = !$use_x_ratio ? $height : floor($size[1] * $ratio);
$new_left = $use_x_ratio ? 0 : floor(($width - $new_width) / 2);
$new_top = !$use_x_ratio ? 0 : floor(($height - $new_height) / 2);
$isrc = $icfunc($src);
$idest = imagecreatetruecolor($width, $height);
imagefill ($idest, 0, 0, $rgb );
imagecopyresampled ($idest, $isrc, $new_left, $new_top, 0, 0,
$new_width, $new_height, $size[0], $size[1]);
imagejpeg ($idest, $dest, $quality );
imagedestroy ($isrc );
imagedestroy ($idest );
return true;
}
|
Сначало создаем шаблонное изображение а потом в него впихиваем(накладываем на него то что нужно) Вам соответственно создавать пустое изображение не нужно у вас оно есть(подложка как я понимаю) разберитесь. поможет | |
|
|
|
|
|
|
|
для: tvv123456
(24.02.2010 в 01:16)
| | спасибо, разобрался | |
|
|
|
|
|
|
|
для: ar41k
(24.02.2010 в 01:31)
| | Правда в данном скрипте есть такая вещь - вашу подложку видно не будет так как я делал это под создание четких размеров и делал так что подложка полностью находиться за основной картинкой, то есть пропорции тут подогнаны 100% равные исходной картинке, но думаю и тут вы сможете разобраться | |
|
|
|
|
|
|
|
для: ar41k
(24.02.2010 в 01:31)
| | Если вы о наложении той картинки из информера, которая фиксированного размера, то забудьте о том, что вам предложили выше. Это через чур код будет, лишний и совсем не нужный. Вам для этого (наложения) достаточно всего одной функции GD - imagecopy(). | |
|
|
|
|
|
|
|
для: sim5
(24.02.2010 в 07:02)
| | Мне просто показалось что автору нужно наложить уменьшенную копию | |
|
|
|
|
|
|
|
для: tvv123456
(24.02.2010 в 16:53)
| | Да, но у него есть тема об информере, где указывается конкретный размер, то есть, надо полагать, что он фиксированный. А не зная, как это делается, он примет любой код, который ему приведут, мне так кажется. ;-) | |
|
|
|
|
|
|
|
для: sim5
(24.02.2010 в 17:04)
| | Ну дак картинку и нужно подогнать под фиксированные размеры, или там уже сами картинки фиксированных размеров? | |
|
|
|
|
|
|
|
для: tvv123456
(24.02.2010 в 21:08)
| | Судя по выводу TABLE - да. | |
|
|
|