Форум Фотогалерея Деловой мир Мелитополя
Мелитополь
Мелитопольский форум
 
 RSS  FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Сжатие изображения программно...
На страницу Пред.  1, 2
 
Начать новую тему   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Мелитополь -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Professional

Писатель


Пол: Пол: Он
Зарегистрирован: 30.01.2006
Сообщения: 376
Откуда: Туташний
Репутация: 67.9
голосов: 4

СообщениеДобавлено: Пт Фев 17, 2006 17:05 pm    Заголовок сообщения: Ответить с цитатой

Ну коль просите пишу как я это сделал, хотя в сущности почти нчего не изменилось... ну тока влез внутрь кодирования джепега и перекомпилил dcu'шку а так код вот какой:

....
var j:TJPEGImage;
t,t1:tmemorystream;
bmp,bmp2: TImage;
r1,r2:Trect;
begin
//----------- create
j:=TJPEGImage.Create;
t1:=TMemoryStream.Create;
t:=TMemoryStream.Create;
bmp:=TImage.Create(owner);
bmp2:=TImage.Create(owner);
bmp.Width:=1024;
bmp.Height:=768;
bmp2.Width:=1024;
bmp2.Height:=768;
//------- связь с рабочим столом
bmp.Canvas.Handle:=getdc(HWND_DESKTOP);
...
bmp2.Canvas.CopyRect(r2,bmp.Canvas,r1);
bmp2.Picture.Bitmap.SaveToStream(t1);
label1.Caption:=inttostr(t1.Size); // тут размер окола 2 - 3 мб
//--------- compress
j.ProgressiveEncoding:=true;
j.PixelFormat:=jf24Bit;
j.CompressionQuality:=15;
j.Smoothing:=true;
j.Compress;
//-------------- save to stream
j.Assign(bmp2.Picture.Bitmap);
j.SaveToStream(t);
label2.Caption:=inttostr(t.Size); // вот тут размер дето становится 37 - 42 кб
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
Drey

Писатель


Пол: Пол: Он
Зарегистрирован: 12.03.2005
Сообщения: 295

Репутация: 100.2
голосов: 3

СообщениеДобавлено: Пт Фев 17, 2006 19:15 pm    Заголовок сообщения: Ответить с цитатой

тема закрыта Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
Показать сообщения:   
Начать новую тему   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Мелитополь -> Программирование Часовой пояс: GMT + 2
На страницу Пред.  1, 2
Страница 2 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Р: 537494

База отдыха «Белый парус» пгт Кирилловка Азовское море.

Рейтинг Мелитопольских сайтов на Melitopol.org Hosting by VivaNET