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

时间:2014-02-26 05:42:04

标签: c# image

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

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

之前我从未在C#中使用过图像,因此我不知道如何实际执行此操作。如果有人可以将我链接到教程或其他内容,我真的很感激...

P.S。我正在使用visual studio 2012和MQ SQL Server 2012。

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

您可以执行以下操作

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);

希望这会对你有所帮助