找回密码
 立即注册

QQ登录

只需一步,快速开始

siberlee
金牌服务用户   /  发表于:2015-10-26 17:41  /   查看:3601  /  回复:3
你好!
在AR的基于代码的模板中,为了减少加载到内存中的图片所占空间,使用了这个接口为报表提供图片数据,在Picture控件属性中的ImageData类型是Stream的,而我使用了MemoryStream,但是发现会报错,报表是这样的。“System.IO.EndOfStreamException: 无法在流的结尾之外进行读取”。是什么原因,能否提供示例。或者在代码中有没有地方可以直接设置一个路径,类似在模板编辑中chose image 对话框的效果。
目前我们使用,this.picture1.Image = System.Drawing.Image.FromFile("\\mycompany.gif");这种方法,内存会非常大,不能用这种方法。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

3 个回复

倒序浏览
frank.zhang
社区贡献组   /  发表于:2015-10-27 10:22:00
沙发
您好,
picture1的Image是,Framework中标准的类,可以参考
https://msdn.microsoft.com/zh-cn/library/System.Drawing.Image(v=vs.110).aspx

Image提供了FromStream的方法,参考代码:
  1.             Image newImage = System.Drawing.Image.FromFile("..\\..\\logo.png");
  2.             System.IO.MemoryStream st = new System.IO.MemoryStream();
  3.             newImage.Save(st, System.Drawing.Imaging.ImageFormat.Jpeg);
  4.             this.picture1.Image = System.Drawing.Image.FromStream(st);
复制代码
回复 使用道具 举报
siberlee
金牌服务用户   /  发表于:2015-10-27 11:03:00
板凳

有没有可能使用ImageData方式来加载图片数据?

回复 2楼frank.zhang的帖子

你好!
我想使用AR的SectionReport所提供的这个接口来load数据。


附件中是我写的示例程序,麻烦帮忙看一下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-10-27 11:57:00
地板
您好,

ImageData是为了兼容性保留下来的接口,目前,已经不再使用。
您可以尝试使用FromStream的方法,也是使用Stream的方式。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部