![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Снимок экрана [D6, Win2k]
Nic2 © (2004-05-20 22:06:00)Мастера подскажите, как уменьшить количество цетов в выходном файле, сейчас копирует 24b.
Пишу:
----------------------------------------------
var
DC: HDC;
Canva: TCanvas;
B: TBitmap;
jpg: TJPEGImage;
begin
Canva := TCanvas.Create;
JPG := TJPEGImage.Create;
B := TBitmap.Create;
DC := GetDC(0);
try
Canva.Handle := DC;
with Screen do
begin
B.Width := Width;
B.Height := Height;
B.Canvas.CopyRect(Rect(0, 0, Width, Height), Canva, Rect(0, 0, Width, Height));
end;
if not b.Empty then
begin
jpg.Performance:=jpBestspeed;
jpg.PixelFormat:=jf8Bit;
jpg.CompressionQuality:=50;
jpg.Compress;
jpg.Assign(b);
jpg.SaveToFile('c:\01.jpg');
end;
finally
b.Free;
canva.Free;
jpg.Free;
end;
---------------------------------------------
MicroMozg (2004-05-21 22:00:00) [1]Попробуй так:
Bitmap := TBitmap.Create;
Bitmap.Width := Screen.Width;
Bitmap.Height := Screen.Height;
Bitmap.PixelFormat := pf1bit; {или pf2/4/8/16/24/32bit}
DC := GetDC(0);
BitBlt(Bitmap.Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height,
DC, 0, 0,SRCCOPY);
ReleaseDC(0, DC);
Bitmap.SaveToFile('D:\Test.bmp');
Bitmap.Free;
У меня вроде всё работает.