antarey Опубликовано 30 июля, 2021 Поделиться Опубликовано 30 июля, 2021 Есть картинки *.png,*.jpg в основном. На примере темы написал код, для начала только уменьшение качестка if (FileExists("d:\\Work\\Project\\Tmp\\11.JPG")) TFile::Delete("d:\\Work\\Project\\Tmp\\11.JPG"); TStream *Stream = new TMemoryStream(); TBitmapSurface *Surface = new TBitmapSurface(); TBitmapCodecSaveParams *SaveParam = new TBitmapCodecSaveParams(); TBitmap *SrcBitmap = new TBitmap(); TBitmap *DstBitmap = new TBitmap(); SrcBitmap->LoadFromFile("d:\\Work\\Project\\Tmp\\1.JPG"); Surface->Assign(SrcBitmap); SaveParam->Quality = 50; TBitmapCodecManager::SaveToStream(Stream, Surface, ".jpg", SaveParam); Stream->Position = 0; DstBitmap->LoadFromStream(Stream); DstBitmap->SaveToFile("d:\\Work\\Project\\Tmp\\11.JPG"); Исходное изображение 2,5Мб а конечное DstBitmap 3,7 Мб. Ето так надо? Где я ошибся? Кроме изменения размеров изображения и качества - что еще можно оптимизировать? Спасибо Цитата Ссылка на комментарий
0 antarey Опубликовано 2 августа, 2021 Автор Поделиться Опубликовано 2 августа, 2021 С размером разобрался - нужно при записи явно указывать качество. А что еще можно оптимизировать? Цитата Ссылка на комментарий
Вопрос
antarey
Есть картинки *.png,*.jpg в основном.
На примере темы написал код, для начала только уменьшение качестка
Исходное изображение 2,5Мб а конечное DstBitmap 3,7 Мб.
Ето так надо? Где я ошибся?
Кроме изменения размеров изображения и качества - что еще можно оптимизировать?
Спасибо
Ссылка на комментарий
1 ответ на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.