Текущий архив: 2007.11.25;
Скачать: 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 вся ветка
Текущий архив: 2007.11.25;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.019 c