【发布时间】:2016-10-05 10:44:22
【问题描述】:
在我的 Lightswitch 桌面应用程序(Silverlight 客户端)中,我使用 silverPDF 创建发票。在我尝试添加图片(公司徽标)之前,一切正常。
我的图像是通过 lightswitch 图像屏幕控制以图像类型(字节数组)保存到数据库中的图像。据我所知,我需要将字节数组加载到内存流中,然后加载到 silverPDF 的 XImage 中。代码sn-p如下:
Dim memStream As New MemoryStream(100)
memStream.Write(CompDetProp.CompanyLogo, 0, CompDetProp.CompanyLogo.Length)
Dim myimage As XImage = XImage.FromStream(memStream)
Dim x As Double = (250 - myimage.PixelWidth * 72 / myimage.HorizontalResolution) / 2
gfx.DrawImage(myimage, x, 10)
这可以编译,但运行“字节数组不是可识别的图像格式”时出现异常。
我还尝试了以下方法:
Dim memStream As MemoryStream = New MemoryStream(CompDetProp.CompanyLogo, 0, CompDetProp.CompanyLogo.Length)
Dim myimage As XImage = XImage.FromStream(memStream)
Dim x As Double = (250 - myimage.PixelWidth * 72 / myimage.HorizontalResolution) / 2
gfx.DrawImage(myimage, x, 10)
据我所知,第二个代码块在使用之前关闭了内存流。
如何将图像放入 silverPDF XImage 在关闭之前以正确格式读取的流?
【问题讨论】:
-
确保图像采用 silverPDF 支持的格式。我不知道你有哪种图像格式,我也不知道silverPDF支持哪些格式。但也许异常只是试图告诉您不支持您的图像格式。
标签: vb.net silverlight-5.0 visual-studio-lightswitch memorystream