如何在Windows窗体应用程序中保存/检索磁盘中的图像?

我想要做的是,我想在每个故障单生成时保存一个图像(“扫描的收据图像”),并将其参考(图像名称)存储在mssql数据库中。

场景:用户将通过OpenDialogBox从源中选择图像,并单击“保存”按钮。 现在我想让我的应用程序做的是,从源文件复制文件,将其文件名更改为TicketID(TicketID每次都是唯一的,因此图像名称将始终保持唯一)然后保存到特定文件夹(将存储所有图像) )并将文件名存储在数据库中。

我以前从未在C#中使用过图像,因此我不知道如何实际执行此操作。 所以如果有人能将我与教程或其他东西联系起来,我真的很感激…

PS我正在使用visual studio 2012和MQ SQL Server 2012。

你可以做到以下几点

1-在保存事件上假设您的扫描图像称为图像

var ticketID=Guid.NewGuid().ToString(); // this method will ensure that the name of image will be unique all the time var path="savingPath" + "/" + ticketID + ".jpg"; // the image path you can save it in the database image.Save(path); 

2-当你想加载图像时

 // retrieve the image path from database var image=Image.FromFile(path); 

希望这会对你有所帮助

如果您在处理System.Drawing库方面不需要任何过于花哨的东西,则应满足您的需求。

根据您希望如何构建应用程序,您可以将目录路径直接传递到Image实现的构造函数中。 例如

var myImage = new Bitmap("C:\\somepath\\filename.jpg");

或者你可以抽象出你可以在流中传递的位置访问(来自字节数组,文件操作,Web请求,等等)

var myImage = new Bitmap(stream);

保存图像很容易。 图像类有一个保存方法

image.Save("C:\\somepath\\filename2.jpg")

http://msdn.microsoft.com/en-us/library/9t4syfhh(v=vs.110).aspx