delphi – 如何使用组合框获取面板的图像
发布时间:2020-12-15 04:23:25 所属栏目:大数据 来源:网络整理
导读:我需要捕捉面板的图像. 我遇到的问题是,如果Panel包含TCombobox,则不会出现Text. procedure AssignPanelImageToPicture(Panel : TPanel;Image : TImage);var B : TBitmap;begin B := TBitmap.Create; try B.Width := Panel.Width; B.Height := Panel.Height;
我需要捕捉面板的图像.
我遇到的问题是,如果Panel包含TCombobox,则不会出现Text. procedure AssignPanelImageToPicture(Panel : TPanel;Image : TImage); var B : TBitmap; begin B := TBitmap.Create; try B.Width := Panel.Width; B.Height := Panel.Height; B.Canvas.Lock; Panel.PaintTo(B.Canvas.Handle,0); B.Canvas.Unlock; Image1.Picture.Assign(B); finally B.Free; end; end; 使用此代码,我放下一个带有TCombobox的面板.然后在Text Property中输入一个值.我也放了一个TImage接下来的两个.然后我添加一个按钮来调用上面的内容 结果如下: 有没有更好的方法来捕捉面板的真实图像. 解决方法
使用
GetDC 和
BitBlt 功能怎么样?
procedure AssignPanelImageToPicture(Panel : TPanel;Image : TImage); var B : TBitmap; SrcDC: HDC; begin B := TBitmap.Create; try B.Width := Panel.Width; B.Height := Panel.Height; SrcDC := GetDC(Panel.Handle); try BitBlt(B.Canvas.Handle,Panel.ClientWidth,Panel.ClientHeight,SrcDC,SRCCOPY); finally ReleaseDC(Panel.Handle,SrcDC); end; Image.Picture.Assign(B); finally B.Free; end; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |