unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Button1: TButton;
SaveDialog1: TSaveDialog;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Logpal=record
lpal:TLogPalette;
dummy:Array[1..255]of TPaletteEntry;
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
var
SysPal: LogPal;
Image: TImage;
hpal: HPalette;
DC :HDC;
TempCanvas: TCanvas;
TempRect: TRect;
begin
DC:=GetDc(Form1.Handle);
SysPal.lPal.PalVersion:=$300;
SysPal.lpal.palNumEntries :=256;
GetSystemPaletteEntries(DC,0,256,SysPal.lPal.PalpalEntry);
hpal:=CreatePalette(SysPal.lpal);
TempCanvas:=TCanvas.Create;
TempCanvas.Handle :=dc;
TempRect:=Rect(0,0,Screen.Width,Screen.Height);
Image:=TImage.Create(self);
Image.Height :=Form1.Height;
Image.Width :=Form1.Width;
Image.Canvas.CopyRect(TempRect,TempCanvas,TempRect);
Image.Parent :=form1;
ReleaseDC(GetDeskTopWindow,DC);
Image.Picture.Bitmap.Palette :=hpal;
if SaveDialog1.Execute then
Image.Picture.SaveToFile(SaveDialog1.FileName+'.bmp');
Image.show;
ReleaseDC(GetDeskTopWindow, Dc);
end;end.
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Button1: TButton;
SaveDialog1: TSaveDialog;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Logpal=record
lpal:TLogPalette;
dummy:Array[1..255]of TPaletteEntry;
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
var
SysPal: LogPal;
Image: TImage;
hpal: HPalette;
DC :HDC;
TempCanvas: TCanvas;
TempRect: TRect;
begin
DC:=GetDc(Form1.Handle);
SysPal.lPal.PalVersion:=$300;
SysPal.lpal.palNumEntries :=256;
GetSystemPaletteEntries(DC,0,256,SysPal.lPal.PalpalEntry);
hpal:=CreatePalette(SysPal.lpal);
TempCanvas:=TCanvas.Create;
TempCanvas.Handle :=dc;
TempRect:=Rect(0,0,Screen.Width,Screen.Height);
Image:=TImage.Create(self);
Image.Height :=Form1.Height;
Image.Width :=Form1.Width;
Image.Canvas.CopyRect(TempRect,TempCanvas,TempRect);
Image.Parent :=form1;
ReleaseDC(GetDeskTopWindow,DC);
Image.Picture.Bitmap.Palette :=hpal;
if SaveDialog1.Execute then
Image.Picture.SaveToFile(SaveDialog1.FileName+'.bmp');
Image.show;
ReleaseDC(GetDeskTopWindow, Dc);
end;end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货