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

Форум PHP

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

 

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

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

тема: Наложить ватермарк на картинку
 
 автор: Night_charter   (14.10.2010 в 13:39)   письмо автору
 
 

Здравствуйте.
Есть ватермарк размером 100 х 20 px.
Есть например фотография размеров 150 х 200 px.
Подскажите, пожалуйста, как правильно наложить ватермарк на фотографию (вниз слева).
Сейчас у меня получилось наложить вниз, но только справа. Вот функция.

<?php
    
function photo_create($photo,$path$newname2) {

        
$kartinka = @file_get_contents($photo;

        
$newname ""
        
        
$newname $newname2.".jpg";

        
$file fopen("/home/domains/test.com/public_html/file.jpg""w");
  
        
fwrite($file,$kartinka);
    
        
fclose($file);
        
        
$im=imageCreateFromJpeg("/home/domains/test.com/public_html/file.jpg"); 
        
        
$im2=imageCreateFromPng("/home/domains/test.com/public_html/set.png");
        
        
$px=(imageSX($im)-100);
        
        
$pk=(imageSY($im)-20); 
        
        
imagecopy($im,$im2,$px,$pk,0,0,100,20);
        
        
imagejpeg($im$path.$newname,100);
        
        return 
$newname;
  
    }
?>

Заранее благодарен за помощь.

  Ответить  
 
 автор: sim5   (14.10.2010 в 13:54)   письмо автору
 
   для: Night_charter   (14.10.2010 в 13:39)
 

$px=(imageSX($im)-100); поэтому и справа (а что не imaGesx?). Задайте отступ слева вам нужный и помещайте.

  Ответить  
 
 автор: Night_Charter   (14.10.2010 в 14:02)   письмо автору
 
   для: sim5   (14.10.2010 в 13:54)
 

Как? )

  Ответить  
 
 автор: Trianon   (14.10.2010 в 14:05)   письмо автору
 
   для: Night_Charter   (14.10.2010 в 14:02)
 

Это была Ваша функция?
Если да, непонятно, что вызывает проблему.
Если нет - выбросьте, напишите свою.

  Ответить  
 
 автор: sim5   (14.10.2010 в 14:09)   письмо автору
 
   для: Trianon   (14.10.2010 в 14:05)
 

Это GD функция, но написано.... в глаза сразу бросается SX..., это сколько фантазии надо иметь, чтобы в заблуждение так ввести? )

  Ответить  
 
 автор: Trianon   (14.10.2010 в 14:14)   письмо автору
 
   для: sim5   (14.10.2010 в 14:09)
 

Я про функцию photo_create спросил.
запись imageSX меня, в общем-то, никак не удручает.
Вполне адекватнное сокращение от
image size by X-axis

  Ответить  
 
 автор: sim5   (14.10.2010 в 14:09)   письмо автору
 
   для: Night_Charter   (14.10.2010 в 14:02)
 

Что как?

  Ответить  
 
 автор: Night_Charter   (14.10.2010 в 14:16)   письмо автору
 
   для: sim5   (14.10.2010 в 14:09)
 

Функцию писал года 2 назад.
Как прилепить наложение слева, подскажите.
Данной функцией, я загружаю удаленное изображение и накладываю ватермарк справа, сейчас возникла необходимость наложить слева.
P.s.
скоро берусь за изучение php5 ;)

  Ответить  
 
 автор: sim5   (14.10.2010 в 14:25)   письмо автору
 
   для: Night_Charter   (14.10.2010 в 14:16)
 

Это кто писал:
imagecopy($im,$im2,$px,$pk,0,0,100,20);

Что значит $px? Ну неуж-то трудно заглянуть в мануал чтобы прочитать - это аргумент функции указывающий Х-координату, а вы ее выше вычисляете, как ширина исходного изображения (150) минус ширина накладываемого (100) получается 50. То есть отступ слева будет равен 50рх. Что нужно сделать чтобы было слева, например 0рх? Или применительно к вашему коду - чего не надо делать?

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

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