Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

Сохранение картинки в файл: БитМап VS Jpeg   Найти похожие ветки 

 
Игоръ ©   (2004-11-18 11:28) [0]

Возникла проблема - необходимо сохранять картинки (TImage), которые создает программа.
Я нашел стандартную процедуру myImage.Picture.SaveToFile(FileName), НО так как у меня очень большие размеры картинок, то картинки занимают очень много места (до 30Mb/картинка). А картинок мне надо сотни... Вообщем 30Гб забивается за 6 часов.

Вчера в форуме мне посоветовали TJpegImage.
Я создал процедуру:
procedure TmyForm.Save_Jpeg (Sender: Tobject; sPATH : string);
var jpg : TJPEGImage;
begin
 jpg := TJPEGImage.Create;
 jpg.CompressionQuality := jpgQual;
 jpg.Assign((Sender as TImage).Picture.Bitmap);
 jpg.SaveToFile(sPATH);
 jpg.Free;
end;


И тут обнаружилась проблема - Время. По сравнению с обычным сохранением у меня каждый шаг просчитывает в 2 раза дольше.
Я связываю это с jpg.Assign. Как я понял программа держит в памяти картинку присвоенную с помощью Assign, а так как картинка большая - это занимает время.

Что можно придумать???
Если использовать стандартную процедуру мне необходимо ГигаБайты HDD, а если JPEG, то программа считает вместо 10-12 часов более суток.


 
Amoeba ©   (2004-11-18 11:31) [1]

К сожалению, за все приходится платить: за меньший объем - большим временем, а за меньшее время - большим объемом. Своего рода "закон сохранения".


 
ЮЮ ©   (2004-11-18 11:34) [2]

jpg.SaveToFile(sPATH); т.к. картинка преобразуется в jpg, то это тоже требует время.

А ты чего хотел? Или время или дисковое пространство?
А что за картинки? Может без потери качества достаточно 4битовой глубины вместо 32битовой?


 
Amoeba ©   (2004-11-18 11:39) [3]


> Может без потери качества достаточно 4битовой глубины вместо
> 32битовой?

16 цветов, скорее всего будет маловато. А насчет 8-битовой глубины (256 цветов) определенно стоило бы подумать.



Страницы: 1 вся ветка

Текущий архив: 2004.12.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.051 c
1-1100695881
Andrey V.
2004-11-17 15:51
2004.12.05
Хочу отцентрировать содежимое TMaskEdit


8-1094407602
IRYS
2004-09-05 22:06
2004.12.05
Preview mode для ScreenSaver a


8-1094490378
Klopan
2004-09-06 21:06
2004.12.05
mp3 player в DOS


4-1096510724
The-13th-Angel
2004-09-30 06:18
2004.12.05
Как отследить изменение реестра и копирование файлов


14-1100755165
X9
2004-11-18 08:19
2004.12.05
16-битная графика в Sims 2