Вниз
Скачать: CL | DM;

оптимизатор JPEG   Найти похожие ветки 

← →
Dy1 ©   (2007-05-06 12:32) [0]

Хочу написать оптимизатор JPEG. Как нарисовать сжатый JPEG не сохраняя его на винт? Посоветуйте плз.
KOLnMCK 2.56, D7

procedure TForm1.KOLForm1FormCreate(Sender: PObj);
begin
 j := NewJpeg;
 j.Bitmap := NewBitmap(0,0);
 j.Bitmap.LoadFromFileEx("0.bmp"); // 24 бита
end;

procedure TForm1.KOLForm1Close(Sender: PObj; var Accept: Boolean);
begin
 j.SaveToFile("1.jpg"); // сохраняется с нужным качеством
 j.Free;
end;

procedure TForm1.KOLForm1Paint(Sender: PControl; DC: HDC);
begin
 if not j.Empty then
   j.Draw(Form.Canvas.Handle,0,40); // всегда 100%-ное качество :(
end;

procedure TForm1.Button1Click(Sender: PObj);
begin
 j.CompressionQuality := str2int(EditBox1.Text);
// ничего не помогает
//  j.Compress;
// j.JPEGNeeded;
 Form.Invalidate;
end;


← →
Vladimir Kladov   (2007-05-06 15:23) [1]

сохранять можно и в поток. Потом - загружать из этого же потока, переставив позицию в 0. Понятно, что 100%, ведь используется Bitmap, если он есть.


← →
Dy1 ©   (2007-05-07 20:21) [2]


> Понятно, что 100%, ведь используется Bitmap

Мне надо рисовать на экране так же, как будет выглядеть сохранённая картинка


← →
Vladimir Kladov   (2007-05-07 21:27) [3]

Вы читаете, что я написал? Сохраняйте в поток. Загружайте из потока. Битмап при вызове LoadFrom уничтожается.


← →
alex3   (2007-05-07 23:29) [4]

Или держим два битмапа, в одном оригинал, а с другим производим операции.
После каждой операции, если надо, производим копирование с оригинала.
Выводя на форму один и другой можно визуально сравнить результат.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.016 c
11-1178249686
Infarkt
2007-05-04 07:34
2007.11.25
VCL вместе с KOL


2-1193786409
Сергей.З
2007-10-31 02:20
2007.11.25
Date...


15-1192899638
Cerberus
2007-10-20 21:00
2007.11.25
Можноли программно открыть страницу в уже открытом IE


15-1192812559
NeiL's
2007-10-19 20:49
2007.11.25
Книги по ООП


6-1174642598
StrangerMX
2007-03-23 12:36
2007.11.25
TIdNNTP




   Наверх