Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.11.02;
Скачать: CL | DM;

Вниз

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

 
Asker   (2007-12-10 19:55) [0]

Подскажите почему код описанный тут:
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=16-988625471
дает на одних компах черный прямоугольник, а на других нормально работает??


 
Palladin ©   (2007-12-10 20:10) [1]

объяснять не хочу, потому что по ссылке все слишком жестоко деформатировано...

type
 TDesktopCanvas = class(TCanvas)
 private
   DC : hDC;
   function     GetWidth:Integer;
   function     GetHeight:Integer;
 public
   constructor  Create;
   destructor   Destroy; override;
 published
   property Width: Integer read GetWidth;
   property Height: Integer read GetHeight;
 end;

function TDesktopCanvas.GetWidth:Integer;
begin
 Result:=GetDeviceCaps(Handle,HORZRES);
end;

function TDesktopCanvas.GetHeight:Integer;
begin
 Result:=GetDeviceCaps(Handle,VERTRES);
end;

constructor TDesktopCanvas.Create;
begin
 inherited Create;
 DC := GetDC(GetDesktopWindow);
 Handle := DC;
end;

destructor TDesktopCanvas.Destroy;
begin
 ReleaseDC(Handle, DC);
 inherited Destroy;
end;

Procedure SaveScreen(Const p_strFileName:String);
Var
 d:TDesktop
 b:TBitmap;
Begin
 b:=TBitmap.Create;
 d:=TDesktopCanvas.Create(Nil);
 b.Width:=d.Width;
 b.Height:=d.Height;
 d.CopyRect(Rect(0,0,d.Width,d.Height),b.Canvas,Rect(0,0,d.Width,d.Height));
 d.Free;
 b.SaveToFile(p_strFileName);
 b.Free;
End;



 
имя   (2008-01-31 14:36) [2]

Удалено модератором


 
Style ©   (2008-02-01 16:54) [3]

А по ссылке не работает возможно потому, что палитры в том режиме,в котором работает ОС , просто нет. 32 бита на цвет.

а функция
function CaptureScreenRect(ARect : TRect) : TBitmap;
копирует экран нормально,

только вот потом
Palette:=GetSystemPalette;
палитра сбрасывается в 0, и получается черный квадрат.



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

Текущий архив: 2008.11.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
2-1221635322
Amid
2008-09-17 11:08
2008.11.02
Как соединить 2 файла BMP ?


15-1221112876
Slider007
2008-09-11 10:01
2008.11.02
С днем рождения ! 11 сентября 2008 четверг


15-1220959204
vajo
2008-09-09 15:20
2008.11.02
Вот уж не думал, что тема про штрафы ГИБДД никому не интересна.


15-1220891287
dr_creigan
2008-09-08 20:28
2008.11.02
Винды-таки глючат...


2-1222095305
Аврам
2008-09-22 18:55
2008.11.02
запрос mysql, узнать что нету записи