如何将图像添加到lightswitch silverPDF文档?

时间:2016-10-05 10:44:23

标签: vb.net silverlight-5.0 visual-studio-lightswitch memorystream

在我的Lightswitch桌面应用程序(Silverlight客户端)中,我使用silverPDF创建发票。一切顺利,直到我尝试添加图像(公司徽标)。

我的图像是通过lightswitch图像屏幕控制以图像类型(byte arrray)保存到数据库的图像。据我所知,我需要将字节数组加载到内存流中,然后加载到silverPDF的XImage中。代码段如下:

                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在关闭之前以正确格式读取的流?

1 个答案:

答案 0 :(得分:0)

来自PDFsharp Expert的评论后,我发现我使用的图片是.png文件。我将图像保存为.jpg并且代码有效。我现在在我的发票上有一张图片(虽然需要进行尺寸限制以确保正确贴合)。谢谢PDFsharp专家。