如何在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