Форум: "Media";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизКак можно сделать ScreenShot быстрее Найти похожие ветки
← →
Morg (2004-02-25 19:33) [0]Делаю ScreenShot и сохраняю в stream, при этом комп зависает на 1-2 сек.
Есть ли способ сделать ScreenShot быстрее ???
Я делаю так:
bm := TBitMap.Create;
bm.Width := Screen.Width;
bm.Height := Screen.Height;
BitBlt(bm.Canvas.Handle, 0, 0,
bm.Width, bm.Height,
GetDC(0), 0, 0, SRCCOPY);
JpegIm := TJpegImage.Create;
JpegIm.Assign(bm);
JpegIm.CompressionQuality := 100;
JpegIm.Compress;
JpegIm.SaveToStream(stream1);
JpegIm.Destroy;
bm.Destroy;
← →
miek © (2004-02-25 23:37) [1]Попробуй 1) Добавить присвоение bm.pixelformat чего-то осмысленного перед BitBlt
2) Ну кто ж делает скриншоты в JPG??? Сохраняй в BMP, и никаких проблем
← →
VMcL © (2004-02-26 01:10) [2]>>miek © (25.02.04 23:37) [1]
А почему бы и не в JPG? Cохраняем в BMP, а в JPG конвертируем уже в отдельной кодовой нити.
← →
Morg (2004-02-26 12:30) [3]>>miek 1) Добавить присвоение bm.pixelformat чего-то осмысленного перед BitBlt
Спасибо.
bm.PixelFormat:= pf32bit;
Так гораздо быстрее.
Может еще как-нибудь можно выиграть в скорости ???
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.033 c