Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];

Вниз

Сохранение картинки в файл: БитМап 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.036 c
1-1100774096
slaga
2004-11-18 13:34
2004.12.05
Как создать сервис ?


1-1100766513
Chery
2004-11-18 11:28
2004.12.05
Клиент не работает под WinXP . Cервер- Midas, Socket.


14-1100784354
panov
2004-11-18 16:25
2004.12.05
Наша судебная система начинает равняться на остальной мир?


3-1099593732
Zif
2004-11-04 21:42
2004.12.05
Как удалить значения одного из столбцов в БД?


14-1100293785
Drakon
2004-11-13 00:09
2004.12.05
Свой дистрибутив Linux





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский