Перейти к содержимому



Позиционирование watermark при наложении через PHP

#1 artik77
artik77
  • Пользователь
  • 2 сообщений
  • Репутация: 0
0

Обновлено 19 марта 2014 - 08:29  Отправлено 16 марта 2014 - 23:25

Привет ребята. Подскажите пожалуйста решение. При загрузке изображения - 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;
          }
        }

 

 


 

 

  • 0

#2 Ixman
Ixman
  • Пользователь PRO
  • 3 177 сообщений
  • Репутация: 850

Отправлено 18 марта 2014 - 19:22

Вам нужно при наложении watermark указать координаты. Смотрите в сторону функции imagecopy если не ошибаюсь, и в приведённом коде не весь нужный функционал, поэтому подробнее сказать не могу


  • 0


#3 artik77
artik77
    Topic Starter
  • Пользователь
  • 2 сообщений
  • Репутация: 0

Отправлено 19 марта 2014 - 08:29

Спасибо. Уже нашел в другом файле. 

imagecopy ( $source, $watermark, ceil(($s_width-$w_width)/2), ceil (($s_height-$w_height)/2), 0, 0, $w_width, $w_height );

  • 0



Похожие темы
  Название темы Автор Статистика Последнее сообщение

Пользователь месяца
Megoydagi Megoydagi 1-й за Август
Очков активности: 30 4 темы, 8 сообщений, 1 балл репутации
Сайт: bank.net.ru
ТОП самых активных за этот месяц
  • Фотография Vmir
    #1

    Vmir
    Очков активности: 48 3 темы, 7 сообщений, 2 балла репутации

  • Фотография BLIK
    #2

    BLIK
    Очков активности: 40.5 Вне конкурса за определение пользователя месяца

  • Фотография SergiuS85
    #3

    SergiuS85
    Очков активности: 12 2 темы, 2 сообщения, 1 балл репутации

  • Фотография WGN
    #4

    WGN (worldgamenews.com)
    Очков активности: 12 1 тема, 5 сообщений, 1 балл репутации

  • Фотография Totti
    #5

    Totti
    Очков активности: 12 0 тем, 8 сообщений, 1 балл репутации

  • Фотография kuztoday
    #6

    kuztoday
    Очков активности: 10.5 1 тема, 4 сообщения, 1 балл репутации

  • Фотография Zevss
    #7

    Zevss (domles43.ru)
    Очков активности: 10.5 2 темы, 1 сообщение, 1 балл репутации

  • Фотография Sale_account
    #8

    Sale_account
    Очков активности: 10.5 2 темы, 1 сообщение, 1 балл репутации

  • Фотография Megoydagi
    #9

    Megoydagi (bank.net.ru)
    Очков активности: 9 Вне конкурса за определение пользователя месяца

  • Фотография mkreine
    #10

    mkreine (analiz-krovi.net)
    Очков активности: 9 1 тема, 3 сообщения, 1 балл репутации

  • Показать весь ТОП 10

Поддержите форум! =)
Топ 5 участников по репутации

Оформление форума – IPBSkins.ru