如何实现,抓取一个form里面的一个image,请指教!
解决方案 »
- 条码输入,大家一般采用哪种网格控件?100分问个问题哈
- 如何操作Pagecontrol中的form?
- DELPHI2006安装
- cxGrid的数据导出到Excel 之分(解决的人取)
- 如何将删除掉的控件再次添加到控件面板上?
- 关于for循环
- 在Win2000 professional里,我的程序只要切换成中文输入(即按Ctrl+Space)时,我的程序就会死掉。计算机上其他程序都没这个问题?盼解答
- 内存总量,请各位大虾帮忙!!
- 又一个关于数据库连接的问题
- 关于软件中读取图片的问题?
- 无窗体问题和调用PAS文件问题~请教~~~
- 请问有哪位研究过EhLib v4.0的demo,反复研究对它的那个过滤功能百思不得其解,请赐教!
bmp:Tbitmap;
begin
bmp := Tbitmap.Create;
bmp := image1.Pictrue.Bitmap;
//这是就可以使用bmp了,如:
image2.Picture.Bitmap := bmp;
128*128的
begin
JPGImage:=TJPGIMage.Create;
Try
JPGImage.Assign(Form1.Image.Picture.BitMap);
JPGImage.SaveToFile('D:\pic.jpg');
finally
JPGImage.Free;
end;
end;
var
Left, Top, Width, Height: Word;
R: TRect;
dc: HDC;
lpPal: PLOGPALETTE;
begin
if not IsWindow(hWindow) then Exit;
GetWindowRect(hWindow, R);
Left := R.Left;
Top := R.Top;
Width := R.Right - R.Left;
Height := R.Bottom - R.Top;
bm.Width := Width;
bm.Height := Height;
dc := GetDc(0);
if (dc = 0) then begin
Exit;
end;
if (GetDeviceCaps(dc, RASTERCAPS) and
RC_PALETTE = RC_PALETTE) then begin
GetMem(lpPal, SizeOf(TLOGPALETTE) +(255 * SizeOf(TPALETTEENTRY)));
FillChar(lpPal^,SizeOf(TLOGPALETTE) +(255 * SizeOf(TPALETTEENTRY)),#0);
lpPal^.palVersion := $300;
lpPal^.palNumEntries := GetSystemPaletteEntries(dc,0,256,lpPal^.palPalEntry);
if (lpPal^.PalNumEntries <> 0) then begin
bm.Palette := CreatePalette(lpPal^);
end;
FreeMem(lpPal, SizeOf(TLOGPALETTE) + (255 * SizeOf(TPALETTEENTRY)));
end;
BitBlt(bm.Canvas.Handle,0,0,Width,Height,Dc,Left,Top,SRCCOPY);
ReleaseDc(0, dc);
end;procedure TForm1.Button1Click(Sender: TObject);
var
b: TBitMap;
begin
b := TBitmap.Create; // 创建一个 BITMAP 来存放图象
ScreenShot(Image1.Handle, b);
Image2.Picture.Bitmap := b;
b.Free;
end;