Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Наложение уменьшенного изображения на подложку (другое изображение)
 
 автор: ar41k   (23.02.2010 в 23:49)   письмо автору
 
 

Перематерился ))

Помогите пожалуйста, кто может... )

Необходимо вывести уменьшенное изображение на подложку (другое изображение)

Не понимаю, в чем дело, но ничего не выходит...

Будьте добры, напишите, как пример, мелкий скрипт на вывод изображения, ссылка на которое находится в перменной, например $kartinka, на другое изображение, например $img.

Наверное, надо использовать imagecopyresized? Или imagecopyresampled?
Попробовал... Но из за большого количества параметров запутался)
Максимум, чего я добивался - это вывод маленького изображения в браузер, или сохранение маленького изображения в папку...

Поможете?)

  Ответить  
 
 автор: tvv123456   (24.02.2010 в 01:16)   письмо автору
 
   для: 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  floor(($width $new_width) / 2); 
                                  
$new_top     = !$use_x_ratio floor(($height $new_height) / 2); 
                                  
$isrc        $icfunc($src); 
                                  
$idest       imagecreatetruecolor($width$height); 
                                   
                                  
imagefill          ($idest00$rgb                         ); 
                                  
imagecopyresampled ($idest$isrc$new_left$new_top00
                                                      
$new_width$new_height$size[0], $size[1]); 
                                        
                                
imagejpeg          ($idest$dest$quality                    ); 
                                  
imagedestroy       ($isrc                                      ); 
                                  
imagedestroy ($idest                                           ); 
                                                return 
true

                   } 



Сначало создаем шаблонное изображение а потом в него впихиваем(накладываем на него то что нужно) Вам соответственно создавать пустое изображение не нужно у вас оно есть(подложка как я понимаю) разберитесь. поможет

  Ответить  
 
 автор: ar41k   (24.02.2010 в 01:31)   письмо автору
 
   для: tvv123456   (24.02.2010 в 01:16)
 

спасибо, разобрался

  Ответить  
 
 автор: tvv123456   (24.02.2010 в 02:20)   письмо автору
 
   для: ar41k   (24.02.2010 в 01:31)
 

Правда в данном скрипте есть такая вещь - вашу подложку видно не будет так как я делал это под создание четких размеров и делал так что подложка полностью находиться за основной картинкой, то есть пропорции тут подогнаны 100% равные исходной картинке, но думаю и тут вы сможете разобраться

  Ответить  
 
 автор: sim5   (24.02.2010 в 07:02)   письмо автору
 
   для: ar41k   (24.02.2010 в 01:31)
 

Если вы о наложении той картинки из информера, которая фиксированного размера, то забудьте о том, что вам предложили выше. Это через чур код будет, лишний и совсем не нужный. Вам для этого (наложения) достаточно всего одной функции GD - imagecopy().

  Ответить  
 
 автор: tvv123456   (24.02.2010 в 16:53)   письмо автору
 
   для: sim5   (24.02.2010 в 07:02)
 

Мне просто показалось что автору нужно наложить уменьшенную копию

  Ответить  
 
 автор: sim5   (24.02.2010 в 17:04)   письмо автору
 
   для: tvv123456   (24.02.2010 в 16:53)
 

Да, но у него есть тема об информере, где указывается конкретный размер, то есть, надо полагать, что он фиксированный. А не зная, как это делается, он примет любой код, который ему приведут, мне так кажется. ;-)

  Ответить  
 
 автор: tvv123456   (24.02.2010 в 21:08)   письмо автору
 
   для: sim5   (24.02.2010 в 17:04)
 

Ну дак картинку и нужно подогнать под фиксированные размеры, или там уже сами картинки фиксированных размеров?

  Ответить  
 
 автор: sim5   (24.02.2010 в 21:25)   письмо автору
 
   для: tvv123456   (24.02.2010 в 21:08)
 

Судя по выводу TABLE - да.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования