Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2012, 16:44   #1
Orchestroman
Пользователь
 
Регистрация: 21.07.2010
Сообщений: 22
Вопрос Сжатие Bitmap

день добрый!) Сразу к делу
Есть рисованный "от руки" канвас формы. Задача состоит в том, чтобы сохранить в bitmap и собственно загрузить потом обратно.
Реализовал стандартными методами:
Код HTML:
     picture:=TBitmap.Create;
     picture.Canvas.CopyRect(form2.ClientRect,form2.Canvas,form2.ClientRect);
     Picture.SaveToFile('мегаважныйфайл.bmp');
     picture.Free;
Но: размер файла под 4 метра) Пробовал решать проблему с jpeg`ом. но я работаю с прозрачностью и при загрузке файл битый до невозможности.
Посоветуйте, мб методы сжатия битмапа или вообще как лучше релизовать/или где почитать по теме
Заранее спасибо!)
Orchestroman вне форума Ответить с цитированием
Старый 08.05.2012, 16:47   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вообще к bmp редко применяется сжатие.
а значит смотрите например в сторону png.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.05.2012, 16:48   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Формат BMP поддерживает сжатие методом RLE.
Arigato вне форума Ответить с цитированием
Старый 08.05.2012, 19:00   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Для начала определитесь, Вам нужно сжатие с потерями или без потерь.
Сжатие с потерями искажает картинку, зато позволяет получить желаемый коэффициент сжатия.
Сжатие без потерь сохраняет картинку неизменной, но управлять коэффициентом сжатия мы не можем. В наихудшем случае любая попытка сжатия приводит к увеличению объема данных.
s-andriano вне форума Ответить с цитированием
Старый 09.05.2012, 20:24   #5
Orchestroman
Пользователь
 
Регистрация: 21.07.2010
Сообщений: 22
По умолчанию

Без потерь. Пробую делать через png. спасибо большое!)
Orchestroman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JPEG сжатие на C++ racushka_n Помощь студентам 4 24.04.2012 23:04
Арифметическое сжатие. Dartar Помощь студентам 3 25.06.2011 03:06
из-за чего появляется полоса (на скрине) при вставке BitMap в TImage? - Проблема с Bitmap Grey@2009 Мультимедиа в Delphi 2 02.01.2010 20:23
Сжатие строК! prizrak1390 Общие вопросы Delphi 16 02.01.2008 17:15
Сжатие битмапа Rapid Мультимедиа в Delphi 7 08.12.2007 16:38