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

Форум PHP

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

 

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

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

тема: Как наложить одну картинку на другую?
 
 автор: Zilog   (07.10.2007 в 15:18)   письмо автору
 
 

Как наложить одну картинку на другую?
скажем логотип на фото. Хотелось бы ещё узнать, можно ли наложиьт с прозрачностью...
подскажите, братцы программеры, как замутить :)

благодарю за помощь.

   
 
 автор: buro   (07.10.2007 в 15:51)   письмо автору
 
   для: Zilog   (07.10.2007 в 15:18)
 

по поиску много можно найти...
пример кода вывода картинки и автоматом наложения на неё другой. то есть картинка хранится в нормальном виде на хосте.
есть интересные особенности того что водяная картинка выводится в разных углах

<?php 
$watermark 
= "water.png"; // адрес водяного знака

$im = imagecreatefrompng($watermark); 

$image = $_GET['image']; //адрес файла

$types = array(1 => "gif", 2 => "jpeg", 3 => "png"); 
if (
$image_info = @getimagesize($image)) 
{ 
  
$image_create_handle = "imagecreatefrom".$types[$image_info[2]]; 
  if (!
$im2 = @$image_create_handle($image)) 
  { 
    die(
"Error opening $image!"); 
  } 

  
imagecopy($im2, $im, (imagesx($im2)/100)-(imagesx($im)/100), (imagesy($im2)/100)-(imagesy($im)/100), 0, 0, imagesx($im), imagesy($im)); 

  if(
$_GET[repeat]) 
  { 
    
$waterless = imagesx($im2) - imagesx($im); 
    
$rest = ceil($waterless/imagesx($im)/1); 

    for(
$n=1; $n<=$rest; $n++) 
    { 
      
imagecopy($im2, $im, ((imagesx($im2)/100)-(imagesx($im)/100))-(imagesx($im)*$n), (imagesy($im2)/100)-(imagesy($im)/100), 0, 0, imagesx($im), imagesy($im)); 
      
imagecopy($im2, $im, ((imagesx($im2)/100)-(imagesx($im)/100))+(imagesx($im)*$n), (imagesy($im2)/100)-(imagesy($im)/100), 0, 0, imagesx($im), imagesy($im)); 
    } 
  } 

  
header("Content-Type: image/jpeg"); 
  
imagejpeg($im2, $destination, 90); 
  
imagedestroy($im); 
  
imagedestroy($im2); 
} 
else 
{ 
  die(
"Error opening $image!"); 
} 
?> 

   
Rambler's Top100
вверх

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