位图图像到字节[]
我有一个在 WPF 应用程序中使用的 BitmapImage,稍后我想将其作为字节数组保存到数据库中(我想这是最好的方法),如何执行此转换?
或者,是否有更好的方法将 BitmapImage(或其任何基类、BitmapSource 或 ImageSource)保存到数据存储库?
I have a BitmapImage
that I'm using in a WPF application, I later want to save it to a database as a byte array (I guess it's the best way), how can I perform this conversion?
Or, alternatively, is there a better way to save a BitmapImage
(or any of its base classes, BitmapSource
or ImageSource
) to a data repository?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
要转换为 byte[],您可以使用 MemoryStream:
您可以使用您喜欢的任何 BitmapEncoder,而不是 JpegBitmapEncoder,如 casperOne 所说。
如果您使用 MS SQL,您还可以使用
image
-Column,因为 MS SQL 支持该数据类型,但您仍然需要以某种方式转换 BitmapImage。To convert to a byte[] you can use a MemoryStream:
Instead of the JpegBitmapEncoder you can use whatever BitmapEncoder you like as casperOne said.
If you are using MS SQL you could also use a
image
-Column as MS SQL supports that datatype, but you still would need to convert the BitmapImage somehow.您必须使用派生自
BitmapEncoder
(例如BmpBitmapEncoder
)并调用Save
方法将BitmapSource
保存到Stream
。您可以根据要保存图像的格式选择特定的编码器。
You will have to use an instance of a class that derives from
BitmapEncoder
(such asBmpBitmapEncoder
) and call theSave
method to save theBitmapSource
to aStream
.You would choose the specific encoder depending on the format you want to save the image in.
将其写入
MemoryStream
,然后您可以从那里访问字节。有点像这样:
write it to a
MemoryStream
, then you can access the bytes from there.something kinda like this:
您可以给出位图的格式:
You can give a formate of bitmap:
只需使用 MemoryStream 即可。
Just use a MemoryStream.