繁体   English   中英

从面板保存图像

[英]Saving Image from Panel

我正在尝试检索在面板上绘制的图像。 该图像是从SDK中为指纹扫描仪绘制的。 这是我用来尝试从面板上获取扫描指纹的代码。

int width = Convert.ToInt32(pnlRightThumb.Width);
int height = Convert.ToInt32(pnlRightThumb.Height);
Bitmap left_thumb = new Bitmap(width1, height);
pnlLeftThumb.DrawToBitmap(left_thumb, new Rectangle(0, 0, width1, height1));
left_thumb.Save(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Fingerprints", "left.bmp"), ImageFormat.Bmp);

到目前为止,我所能获得的只是一张白色图像。

注意:我无法更改绘制图像的方式,只能尝试从面板中获取绘制的图像。

关键是绘制图像的方式。 如果您无法控制它,我必须使用Graphics对象对面板进行快照。 尝试这样的事情:

int width = Convert.ToInt32(pnlRightThumb.Width);
int height = Convert.ToInt32(pnlRightThumb.Height);
Bitmap left_thumb = new Bitmap(width1, height);

Graphics g = Graphics.FromImage(left_thumb);
Point panel_location;
panel_location=pnlRightThumb.PointToScreen(Point.Empty);
g.CopyFromScreen(panel_location.X, panel_location.Y, 0, 0, left_thumb.Size, CopyPixelOperation.SourceCopy);

left_thumb.Save(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Fingerprints", "left.bmp"), ImageFormat.Bmp);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM