Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Доработка] Watermark (логотип на картинках)


Unikal

Recommended Posts

твой бред меня забавляет. пиши ещё

Котик, ты там сильно не смейся, а то разорвет от забавы... И када будешь забавляться, не забывай менять руки! а то сотрешься!
Надіслати
Поділитися на інших сайтах


  • 1 month later...
  • 1 month later...

Подскажите пожалуйста, в opencart 1.5.3 watemark прекрасно налаживается на картинки товара, но очень неудобно то, что он налаживается и на баннер который располагается на главной страничке, вот адрес: http://dugi.by/ Подскажите пожалуйста как исправить...

Надіслати
Поділитися на інших сайтах


  • 3 months later...
  • 1 month later...

Парни, а поделитесь, пожалуйста, рабочим архивчиком в watermark`ом! У кого есть и у кого точно работает!

З.Ы. Версия OpenCart 1.5.3.1!

Заранее, благодарю!

Надіслати
Поділитися на інших сайтах


  • 2 months later...

Работает на OpenCart 1.4.9.1/2/3

1. Создайте PNG водяной знак, назовите его watermark.png и скопировать его в image/.

2. Теперь необходимо отредактировать 2 PHP файла

3. Первый файл: system/library/image.php

линий 93-121, и вы увидите следующий код:

public function watermark($file, $position = 'bottomright') {
	$watermark = $this->create($file);

	$watermark_width = imagesx($watermark);
	$watermark_height = imagesy($watermark);

	switch($position) {
		case 'topleft':
			$watermark_pos_x = 0;
			$watermark_pos_y = 0;
			break;
		case 'topright':
			$watermark_pos_x = $this->info['width'] - $watermark_width;
			$watermark_pos_y = 0;
			break;
		case 'bottomleft':
			$watermark_pos_x = 0;
			$watermark_pos_y = $this->info['height'] - $watermark_height;
			break;
		case 'bottomright':
			$watermark_pos_x = $this->info['width'] - $watermark_width;
			$watermark_pos_y = $this->info['height'] - $watermark_height;
			break;
	}

	imagecopy($this->image, $watermark, $watermark_pos_x, $watermark_pos_y, 0, 0, 120, 40);

	imagedestroy($watermark);
}

заменить на

public function watermark($file, $position = 'bottomright') {

  //Pb ! you don't work on the true object => you must modify the "create" method ($mime = $this->info['mime']; it's work only if we have the same image format !
	//$watermark = $this->create($file);

	//Prefer PNG files => it's not optimized but it's work
  $watermark = imagecreatefrompng($file);

	$watermark_width  = imagesx($watermark);
	$watermark_height = imagesy($watermark);

	switch($position) {
		case 'topleft':
			$watermark_pos_x = 0;
			$watermark_pos_y = 0;
			break;
		case 'topright':
			$watermark_pos_x = $this->info['width'] - $watermark_width;
			$watermark_pos_y = 0;
			break;
		case 'bottomleft':
			$watermark_pos_x = 0;
			$watermark_pos_y = $this->info['height'] - $watermark_height;
			break;
		case 'bottomright':
			$watermark_pos_x = $this->info['width'] - $watermark_width;
			$watermark_pos_y = $this->info['height'] - $watermark_height;
			break;
	 case 'center':
		$watermark_pos_x = ($this->info['width']- $watermark_width)/2;
		$watermark_pos_y = ($this->info['height']- $watermark_height)/2;
		break;
	}

	imagecopy($this->image, $watermark, $watermark_pos_x, $watermark_pos_y, 0, 0, $watermark_width, $watermark_height);

	imagedestroy($watermark);
}

4.Второй файл для редактирования catalog/model/tool/image.php

Перейти к строке 27, и вы увидите следующий код:

$image = new Image(DIR_IMAGE . $old_image);

после него вставить следующий код:

{
if ($width > 400 || $height > 300)
	{  
	  $image->watermark(DIR_IMAGE . 'watermark.png', 'center');
}
}

В коде выше, вы можете определить нужное положение водяного знака (topleft, topright, bottomleft, bottomright or center).

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

5. Заключительный шаг: удалить все данные в папке image/cache/data, чтобы создалиь изображения с водяными знаками.

Вот и все! Удачи!

Надеюсь, я помог тем, у кого проблемы принятия водяные знаки работы.

проверил на 1,5,3,1 работает

единственно, как исключить слайды?

например тут if ($width > 400 || $height > 300) добавить еще одну проверку например if ($width > 400 *и если ширина меньше 600* || $height > 300)

Надіслати
Поділитися на інших сайтах


  • 1 month later...

if ($width == 228 || $width == 500) {

добавил вот так, у меня при детальном стоят 228х228, всплывающее 500х500 стоят.

таким образом, слайды остались вне знака

А если мне нужно на несколько изображений добавить ватермарк? Например помимо изображения товара на странице товара, но ещё и при зумировании и в картинки последних поступлений, рекомендуемых и пр.\Я сделал вот так

$image = new Image(DIR_IMAGE . $old_image);
  {
    if ($width == 165 || $height == 165 || $width == 700 || $height == 700 || $width == 472 || $height == 472 || $width == 300 || $height == 300)
		    { 
			  $image->watermark(DIR_IMAGE . 'watermark.png', 'topleft');
    }
}

Но работает только на

$width == 165 || $height == 165

, подскажите пожалуйста как правильнее сделать?

Надіслати
Поділитися на інших сайтах


  • 6 months later...
  • 5 months later...
  • 1 month later...

Всем привет!

Кто то сталкивался с такой проблемой:

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

Спс!

Надіслати
Поділитися на інших сайтах


  • 2 months later...

Хотел поделиться своим решением относительно ватермарка.

 

Картинка с водным знаком в папке кэша в любом случае содержит путь к оригиналу без этого водного знака, например:

http://site.ru/image/cache/data-pictures-pictrure12345-300x600.jpg

Таким образом, зная эту тонкость опенкарта, мы исправляем путь на 

http://site.ru/image/data/pictures/pictrure12345.jpg

 и получаем оригинал без копирайта.

 

Защититься от этого поможет ключ разного регистра в имени файла, например pICturE12345.jpg. В кэш картинка попадет в низком регистре - data-pictures-pictrure12345-300x600.jpg, но при обращении по восстановленному пути (как в примере выше) вы получите ошибку 404, поскольку юниксовый хостинг, как правило, регистрозависим и имена pictrure12345.jpg и pICturE12345.jpg принадлежат разным файлам в одной папке.

Вариантов перебора ключа в имени файла предостаточно, 2количество знаков в ключе, в приведенном примере - 128. Перебирайте на здоровье.

 

Есть минусы, которые я не учел?

Надіслати
Поділитися на інших сайтах


Решение .htaccess вообще бомба, создав этот файл можно расскопировать его не в image/data, а в каталоги которые нужно защитить, отлично все работает отлично!


Тема


 


.htaccess


Order deny,allow

Deny from all

Надіслати
Поділитися на інших сайтах


Одна проблема вылезла: в админке тоже картинки не отображаются...

 

 

Решение .htaccess вообще бомба, создав этот файл можно расскопировать его не в image/data, а в каталоги которые нужно защитить, отлично все работает отлично!

Тема

 

.htaccess

Order deny,allow
Deny from all

 

Надіслати
Поділитися на інших сайтах


  • 2 months later...

Вопрос. Есть файл Ватермарк 24. Сохранен на компе. Вверху файла идет надпись, типа заголовка. Нужно ее частично изменить (отредактировать) с сохранением существующего шрифта. В моем графическом редакторе такого типа шрифта нет. Порекомендуйте как решить эту задачу.

Только по проще и понятней.

Надіслати
Поділитися на інших сайтах


  • 1 year later...

У меня получилось вот так сделать. Взял с иностранного сайта. Работает на версиях v1.4.7, v1.4.8, v1.4.8b, v1.4.9, v1.4.9.1, v1.4.9.2, v1.4.9.3, v1.4.9.4, v1.4.9.5, v1.5.0, v1.5.0.1, v1.5.0.2, v1.5.0.3, v1.5.0.4, v1.5.0.5, v1.5.1, v1.5.1.1, v1.4.9.6, v1.5.1.2, v1.5.1.3

......

Большое спасибо Базилио за выкладывание данного модуля. Он заработал у меня на версии 1.5.6.? (vqmod) без всяких переделок. Водяной знак масштабируется.

НО:

1. водяной знак накладывается на баннер

2. заметил такую вещь, что если картинка квадратная (например 500х500), то в поп-апе водяной знак не накладывается, а появляется только на маленькой (предпросмотр). Просто переделал все картинки на прямоугольные, например 500х400.

3.

Змінено користувачем Lunsky
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.