Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

 

А где настраивается качество сжатия для превью. Такое ощущение, что разработчики поставили качество 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 не приспособлен для работы с изображениями. У них нет не грамотного постановщика заданий, не исполнителей под графику. Из-за этого галерея, такая как есть.

  • 3 месяца спустя...
Опубликовано:
  • Автор
В галереи такая же история. Значение по умолчанию, кошмарное.

 

Поставил галерею 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

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.