Метод doSave компонента Jpeg никак не реагирует на параметр Quality. В коде Quality используется только в методе doLoadFromBitmap. При этом в компоненте PictureStream всё реализовано правильно, и метод doSave использует св-во CompressionQuality.
Редактировалось 1 раз(а), последний 2018-07-14 17:22:52
Этот топик читают: Гость
Ответов: 1926
Рейтинг: 172
|
|||
карма: 9 |
|
Ответов: 4633
Рейтинг: 749
|
|||
Так, вроде, и правильно: Quality используется при создании JPEG (в данном случае, создание происходит из BMP методом doLoadFromBitmap). Все остальные методы работают с уже готовым JPEG (загрузка/сохранение). Если нужно "сохранить JPEG с другим качеством", нужно JPEG преобразовать в BMP, затем обратно в JPEG с другим Quality. Если нужно, можно для этой цели добавить метод doRecompress ("пережать JPEG с другим качеством") - выполнить в коде преобразование JPEG->BMP->JPEG[указанное Quality].
А вот значение свойства Quality по-умолчанию стоит изменить с 0 на 100 (или, возможно, 99) - всё равно ручками каждый раз приходится править. Редактировалось 1 раз(а), последний 2018-07-15 12:42:29 |
|||
карма: 26 |
|
Ответов: 1926
Рейтинг: 172
|
|||
Да, я говорю как раз про "сохранить JPEG с другим качеством".
Netspirit писал(а): JPEG преобразовать в BMP, затем обратно в JPEG с другим QualityВот так, что ли?
Всё-таки это изврат. Обычно компрессия производится как раз при сохранении. ps. Netspirit писал(а): значение свойства Quality по-умолчанию стоит изменить с 0 на 100А вот это как раз не получится, т.к. нарушит совместимость (если в настройках стоит опция "сохранять изменения"). |
|||
карма: 9 |
|
Ответов: 4633
Рейтинг: 749
|
|||
3042 писал(а): Вот так, что ли?
3042 писал(а): т.к. нарушит совместимость (если в настройках стоит опция "сохранять изменения")Редактировалось 4 раз(а), последний 2018-07-16 17:48:34 |
|||
карма: 26 |
|
Ответов: 1926
Рейтинг: 172
|
|||
Netspirit писал(а): Не понимаю. Если у кого в схеме стояло 0 (а это имеет смысл только если бы хотели получить Qulity из потока, причём, из второго элемента MT-потока, так как первым элементом должен быть Bitmap), то оно станет равным новому значению - в этом случае нужно будет поправить. Во всех остальных случаях кто какое значение поставил, то и останется.А, ну да, я про компонент PictureStream подумал, там 75 стоит. А по теме: всё-таки изврат, да ещё с дополнительным копированием картинки. |
|||
карма: 9 |
|
5