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

Копия экрана!!!   Найти похожие ветки 

 
Ser_ega   (2004-01-09 23:17) [0]

Доброго вам времени суток!!! Подскажите пожалуйста, как сделать копию своего экрана и сохранить его в файл JPG??? А если возможно то и копию определенного прямойгольнака экрана!! Ну мне нужно скопировать много картинок, чтоб там не было лишнего (кнопок, текстов и т.д.) только картинку!!!


 
Stilgar ©   (2004-01-09 23:29) [1]

JPEG есть в FAQ, вот копирование прямоугольника:

function GetSystemPalette : HPalette;
var
PaletteSize : integer;
LogSize : integer;
LogPalette : PLogPalette;
DC : HDC;
Focus : HWND;
begin
result:=0;
Focus:=GetFocus;
DC:=GetDC(Focus);
try
PaletteSize:=GetDeviceCaps(DC, SIZEPALETTE);
LogSize:=SizeOf(TLogPalette)+(PaletteSize-1)*SizeOf(TPaletteEntry);
GetMem(LogPalette, LogSize);
try
with LogPalette^ do begin
palVersion:=$0300;
palNumEntries:=PaletteSize;
GetSystemPaletteEntries(DC, 0, PaletteSize, palPalEntry);
end;
result:=CreatePalette(LogPalette^);
finally
FreeMem(LogPalette, LogSize);
end;
finally
ReleaseDC(Focus, DC);
end;
end;

function CaptureScreenRect(ARect : TRect) : TBitmap;
var
ScreenDC : HDC;
begin
Result:=TBitmap.Create;
with result, ARect do begin
Width:=Right-Left;
Height:=Bottom-Top;
ScreenDC:=GetDC(0);
try
BitBlt(Canvas.Handle, 0,0,Width,Height,ScreenDC, Left, Top, SRCCOPY );
finally
ReleaseDC(0, ScreenDC);
end;
Palette:=GetSystemPalette;
end;
end;

Проверял, работает.



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

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



Память: 0.45 MB
Время: 0.025 c
4-63450
tim
2003-10-15 12:06
2004.01.20
сеть не видно в сервисе


1-63150
zzet
2004-01-06 21:32
2004.01.20
FloatToDecimal


1-63148
Sirakuz
2004-01-07 02:28
2004.01.20
Обращение к private переменным класса из ассемблерной вставки


1-63141
skt888
2004-01-07 07:10
2004.01.20
String в WideString


1-63219
Desrt
2004-01-09 15:16
2004.01.20
Как програмно проверить вставлена ли дискета?




   Наверх