首页 > 解决方案 > Syncfusion Xamarin '值不能为空。参数名称:添加图片时的stream'

问题描述

我想从流中加载图像到 pdf。当我尝试这样做时,我得到一个错误

System.ArgumentNullException: 'Value cannot be null.
Parameter name: stream'

这是我的代码

Stream imageStream = typeof(App).GetTypeInfo().Assembly.GetManifestResourceStream("MyApp.Resources.drawable.image.png");
            
PdfImage image = PdfImage.FromStream(imageStream);   <---- here is error

g.DrawImage(image, new PointF(20, 20));

标签: imagepdfxamarinstreamsyncfusion

解决方案


首先,通过这种方式,您需要将图像放在 Forms 项目而不是 Android 项目中。在我的演示中,我将图像放在Assets文件夹中。代码应如下所示

在此处输入图像描述

var assembly = this.GetType().GetTypeInfo().Assembly;
Stream s = assembly.GetManifestResourceStream("MyApp.Assets.icon.png");

另外,确保镜像的构建动作是Embeddded Resource

右键单击图像-> 属性

在此处输入图像描述


推荐阅读