Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Zero108

Качество масштабируемых изображений

Рекомендованные сообщения

09/14/09 08:11 (изменено)

Когда форум масштабирует прицепленные к посту изображения, он создает превью заданного в админке размера (длина и высота).

 

А где настраивается качество сжатия для превью. Такое ощущение, что разработчики поставили качество jpg на выходе процентов 65 от оригинала, так как все превью в артефактах, аж глаз режет.

 

В каком файле подправить качество сжатия jpg, чтобы стояло 100%?

Изменено пользователем Zero108

Поделиться сообщением


Ссылка на сообщение
В каком файле подправить качество сжатия jpg, чтобы стояло 100%?

\ips_kernel\class_image.php

Ищем

@imagejpeg( $thumb, $this->out_file_dir."/".$this->out_file_name.'.jpg' );

 

Меняем на

@imagejpeg( $thumb, $this->out_file_dir."/".$this->out_file_name.'.jpg', 100);

И получаем слонов. :) 100% не стоит.

 

В галереи такая же история. Значение по умолчанию, кошмарное.

Поделиться сообщением


Ссылка на сообщение

Спасибо. Форум вылечен.

Поделиться сообщением


Ссылка на сообщение

Вообще, подумалось, что многие разработчики таких вот форумов все еще живут во временах диалапных модемов, когда вес страницы и отдельного изображения был очень критичным параметром. Оттуда выросла привычка оптимизировать ВСЁ, что только можно...

Поделиться сообщением


Ссылка на сообщение
Вообще, подумалось, что многие разработчики таких вот форумов все еще живут во временах диалапных модемов, когда вес страницы и отдельного изображения был очень критичным параметром.

Этот кусок кода, без изменения присутствовал еще на 2.1 А возможно он был и на 2.0 С тех пор, так все и тянется.

А грубо, IP.Board не приспособлен для работы с изображениями. У них нет не грамотного постановщика заданий, не исполнителей под графику. Из-за этого галерея, такая как есть.

Поделиться сообщением


Ссылка на сообщение
В галереи такая же история. Значение по умолчанию, кошмарное.

 

Поставил галерею 2.2.4.

 

Изменил в файле sources/components_public/gallery/lib/lib_image.php

 

	 	if( $this->file_extension == 'gif' )
 	{
	 	$this->out_file_complete = preg_replace( "/(.gif)$/i", ".jpg", $this->out_file_complete);
 	}

 

на

 

	 	if( $this->file_extension == 'gif' )
 	{
	 	$this->out_file_complete = preg_replace( "/(.gif)$/i", ".jpg", $this->out_file_complete, 100);
 	}

 

Не помогло.

 

Где менять?

 

Кстати, пробовал запустить в галерее функцию добавления водяного знака. Прописал абсолютный путь, но ничего к изображению не добавилось. Это вообще работает?!

Поделиться сообщением


Ссылка на сообщение
Где менять?

ИМХО но \ips_kernel\class_image.php

 

Кстати, пробовал запустить в галерее функцию добавления водяного знака. Прописал абсолютный путь, но ничего к изображению не добавилось. Это вообще работает?!

Работает. Много раз видел. Само изображение есть?

 

Но сам не ставил. Мне это не надо. У меня все фотографии авторские и если автор сам захочет, он поставить кпирайт на свою работу. Какое право, я имею ставить свой копирайт на чужую работу....

Поделиться сообщением


Ссылка на сообщение

Я что-то не пойму: \ips_kernel\class_image.php отвечает за jpg форума, а не галереи, так? Или он заменяется галерейным? В файле \ips_kernel\class_image.php я еще давно поменял, когда спрашивал в этой ветке насчет превьшек для форума. А вот как в галерее сделать, никак не пойму... :D

Поделиться сообщением


Ссылка на сообщение
А вот как в галерее сделать, никак не пойму... :D

Извините. Вчера невнимательно прочитал.

 

sources/components_public/gallery/lib/lib_image.php

 

Ищем

@$map[$this->file_extension]( $this->img, $this->out_file_complete );

 

и меняем на

@$map[$this->file_extension]( $this->img, $this->out_file_complete, X );

 

X - Степень сжатия. Максимально 100, но уже нормально 80 - 90

 

Это строчка встречается два раза. В функции _write_file_gd() и _write_file_gd1(). Как правило, используется gd(). Но можно заменить в обоих местах. Хуже не будет.

 

Или как вариант, в использование галереи, вместо библиотеки GD использовать ImageMagick. Качество превьюшек, будет на уровне.

Единственно, что ImageMagick должен быть установлен у хостера и надо прописать путь к бинарнику (convert), где он лежит. Что-то типа -- /usr/local/bin/

 

IPS увы не использует ImageMagick как модуль php, а работает с бинарным файлом.

Поделиться сообщением


Ссылка на сообщение

Спасибо, как всегда помогло :D

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...