Форум: "Media";
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];
ВнизКартинка с экрана Найти похожие ветки
← →
ZMRaven (2008-02-01 09:19) [0]Как взять картинку с экрана?
нашёл такое как Screen - имеет много удобных параметров,
Monitor у них даже DesktopRect можно найти и при этом с него ничего не скопируешь.
подскажите как быть?
← →
bioSerg (2008-02-01 10:04) [1]:)
bmp1:=TBitMap.Create;
bmp1.Width:=Screen.Monitors[n].Width;
bmp1.Height:=Screen.Monitors[n].Height;
bmp1.PixelFormat:=pf32bit;
bmp2:=TBitMap.Create;
bmp2.Width:=Screen.Monitors[n].Width div k;
bmp2.Height:=Screen.Monitors[n].Height div k;
bmp2.PixelFormat:=pf32bit;
with Screen.Monitors[n] do
BitBlt(bmp1.Canvas.Handle, 0, 0, Width, Height,
GetDC(h), Left-Screen.DesktopLeft, Top, SRCCOPY);
у меня спросить не мог?
← →
homm © (2008-02-01 10:54) [2]> [1] bioSerg (01.02.08 10:04)
> BitBlt(bmp1.Canvas.Handle, 0, 0, Width, Height,
> GetDC(h)
> , Left-Screen.DesktopLeft, Top, SRCCOPY);
Да Вы, бательна, шутник! Кто рессурсы потом освобождать будет и что такое h ?
← →
bioSerg (2008-02-01 11:11) [3]:)
h := FindWindow(PChar("ProgMan"), nil);
h := GetWindow(h, GW_CHILD);
h := GetWindow(h, GW_CHILD); // получаем Handle рабочего стола
bmp1:=TBitMap.Create;
bmp1.Width:=Screen.Monitors[n].Width;
bmp1.Height:=Screen.Monitors[n].Height;
bmp1.PixelFormat:=pf32bit;
with Screen.Monitors[n] do
BitBlt(bmp1.Canvas.Handle, 0, 0, Width, Height, GetDC(h), Left-Screen.DesktopLeft, Top, SRCCOPY);
// здесь твоя работа с картинкой (отправка, сохранение и т.д.)
bmp1.Free;
А ресурсы освобождать нужно где-то дальше, каюсь написал лишнего :)
← →
homm © (2008-02-01 11:43) [4]> [3] bioSerg (01.02.08 11:11)
> А ресурсы освобождать нужно где-то дальше, каюсь написал
> лишнего :)
И как же ты собрался освободить рессурс, который ты получил и сразу передл в функцию, не оставив даже указателя на него?
← →
ZMRaven (2008-02-01 12:48) [5]homm, ошибки это плохо - понятно.
напишите ваш вариант?
← →
ketmar © (2008-02-01 13:00) [6]>напишите ваш вариант?
$30.
← →
homm © (2008-02-01 14:31) [7]> [6] ketmar © (01.02.08 13:00)
Не демпингуй. Тебе откат будет в случае чего :)
← →
New (2008-02-04 04:49) [8]
var
Bitmap: TBitmap;
DC: HDC;
begin
Bitmap:= TBitmap.Create;
Bitmap.Width:= Screen.Width;
Bitmap.Height:= Screen.Height;
DC:= GetDC(0);
BitBlt(Bitmap.Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height, DC, 0, 0, SRCCOPY);
Image1.Canvas.StretchDraw(Image1.Canvas.ClipRect, Bitmap);
Bitmap.Free;
ReleaseDC(0, DC);
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c