Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как сделать, чтобы DLE уменьшал фото пропорционально?

Как сделать, чтобы DLE уменьшал фото пропорционально?


     16.09.2017    фото, редактор, уменьшение    Все вопросы » Общие вопросы    1155

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

Я экспериментировал с оптимизацией и случайно заметил, что при уменьшении оригинального фото, второй размер, в моём случае высота на 1 px меньше чем должен быть по стандарту пропорций.

Пример:
У меня стоит в настройках максимальный размер фото 650px. Загружаю фото 1024 x 768. При уменьшении во всех программах попробовал, во всех сервисах в интернете, должно получится изображение 650 х 488, но в DLE почему то всегда на 1 пиксель меньше 650 х 487!!!
Вроде бы пустяк, но это заметно когда включаешь сжатие, фото получается чуть размытое, это заметно только если сравнивать и я это заметил )

Если заранее загружать фото размером 650, то размер как надо 650 х 488, если же больше чем задан в настройках то уже на пиксель меньше.
Я получается каждый раз должен все загружаемые фото ручками ресайзить до 650 и только потом выкладывать? "Медвежий труд"

Кто то может сталкивался, почему такое происходит? И как решить эту проблему?

P.S.: У меня версия DLE 10.6, но я пробовал вплоть до последней 12 версии, везде этот баг.

Ответа пока нет


4 комментария

nowheremany
Эксперт

nowheremany - 17 сентября 2017 11:21 -

Попробуйте в файле thumb.class.php после

		if ($this->img['lebar_thumb'] < 1 ) $this->img['lebar_thumb'] = 1;
		if ($this->img['tinggi_thumb'] < 1 ) $this->img['tinggi_thumb'] = 1


вставить

		$this->img['lebar_thumb'] = ceil($this->img['lebar_thumb']);
		$this->img['tinggi_thumb'] = ceil($this->img['tinggi_thumb']);

Благодарность принимаю тут Связь

senseich
Юзер

senseich - 17 сентября 2017 16:04 -

Спасибо, работает! ) А можете пояснить, что означают эти строчки?

nowheremany
Эксперт

nowheremany - 17 сентября 2017 17:17 -

$this->img['tinggi_thumb'] после расчетов содержит число с дробным знаком. (650/1024)*768 = 487,5.
Код выше округляет это значение до большего целого. 488, без него дробь отбрасывается.

Благодарность принимаю тут Связь

senseich
Юзер

senseich - 17 сентября 2017 17:28 -

nowheremany, Прикольно, я написал в техподдержку, они даже не знали об этом, и сказали, что исправят в следующих версиях )) Если хочешь, могу им дать твою подсказку.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх