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

Форум PHP

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

 

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

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

тема: Позиционирование watermark при наложении через PHP
 
 автор: artik77   (17.03.2014 в 00:08)   письмо автору
 
 

Привет ребята. Подскажите пожалуйста решение. При загрузке изображения - watermark клеится строго по центру картинки. Как настроить чтобы оно например было в правом нижнем углу?
Вот код который преобразует:
//Конфиг для картинок
          $config = array(
            0        => null, //Оригинальное изображение сохраняется без изменений
            'thumb'  => array(
              Image::RESIZE => array('width' => 160, 'height' => 120)
            ),
            'medium' => array(
              Image::RESIZE => array('width' => 300, 'height' => 230)
            ),
            'big'    => array(
              Image::RESIZE => array('width' => 800, 'height' => 800, 'watermark' => DOCROOT . '/inc/watermark.png')
            ),
          );
//ЗАДАЕМ КАК БУДЕТ ПЕРЕЖАТО ИЗОБРАЖЕНИЕ
                foreach ($config as $size => $arr) {
                  if (is_array($arr)) {
                    foreach ($arr as $action => $attr) {
                      if (empty ($attr['height'])) {
                        $attr['height'] = null;
                      }
                      if (empty ($attr['width'])) {
                        $attr['width'] = null;
                      }

                      $name = $new_name . (empty ($attr['one']) ? '_' . $i : '');

                      $image->clean();
                      switch ($action) {
                        case Image::CROP:
                          $image->crop($attr['width'], $attr['height']);
                          break;
                        case Image::RESIZE:
                          $image->resize($attr['width'], $attr['height'], (!empty($attr['non_prop']) ? true : false));
                          break;
                        default:
                          continue;
                      }

                      if (isset ($attr['watermark'])) {
                        $image->watermark($attr['watermark']);
                      }
                    }
                  } else {
                    $name = $new_name . (empty ($attr['one']) ? '_' . $i : '');
                  }
                 //СОХРАНЯЕМ ФАЙЛ
                  $image->save($name . (is_numeric($size) ? '' : '_' . $size) . '.jpg');
                }
                //Удаляем временный файл
                unlink($tmp_filename);

                echo '1';
              } else {
                echo 'Error yeah!';
              }

              break;
          }
        }

  Ответить  
 
 автор: psychomc   (17.03.2014 в 00:51)   письмо автору
 
   для: artik77   (17.03.2014 в 00:08)
 

не хватает данных. ищите метод watermark в классе, объектом которого является $image

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

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