经验分享——水晶报表插入动态图片

326 阅读2分钟

今天要分享的的经验是——在水晶报表中插入图片。这是一个非常常用的功能。对于静态图片【固定图片】插入,比如插入公司logo或者公司公众号二维码等,还是很简单的。这个不用说了,今天要分享的是动态图片插入。

动态图片插入这个功能很重要,但是网上搜索了一遍,发现能满足自己需求的,很少。一次偶然找到一个比较接近的文章,于是在他的基础上摸索,然后实现了自己的想要的功能。今日分享。

动态图片显示一种使用二进制,这个实现起来比较麻烦,今天不谈。一种是使用链接。这也是我今天要分享的内容。

我是使用参数化实现的。看代码

第一步 编写代码

   rd.SetParameterValue("TeuSeq", string.Format("[{0}]", m.TeuSeq));
            rd.SetParameterValue("BatchNo", string.Format("[{0}]", m.BatchNo));
            rd.SetParameterValue("OrdersID", string.Format("[{0}]", list.First().OrdersID));
            rd.SetParameterValue("StaffID", string.Format("[{0}]", m.StaffID));
           // var signatureUrl = "https://www.runoob.com/wp-content/uploads/2015/02/git-command.jpg";
          //  string signatureUrl = System.Web.HttpContext.Current.Server.MapPath("~" + "/Images/erweima.png" ?? "");
            string signatureUrl = "http://localhost:8096/Images/ctw.jpg";
            string ddd = "http://cloud.cqvip.com/image/vpcs2017/NewTemp/img/logo/logo-419.png";
            string xxx = "https://pic1.zhimg.com/v2-d58ce10bf4e01f5086c604a9cfed29f3_r.jpg";
            xxx = "https://img.51miz.com/Element/00/84/09/57/98b148ee_E840957_4a56d772.png";
            rd.SetParameterValue("signatureUrl", string.Format("{0}", xxx));

这里使用参数signatureUrl,在代码中设置了,还要在水晶报表里添加,如果不添加的话会出现未注册之类错误。

第二步 注册字段

打开水晶报表文件,选中参数字段,右击出现新建,如下图

image.png 然后修改名字

image.png 点击确定,这样算字段已经注册,现在可以使用了。

第三步 创建图片ole对象

在空白处,右击——>插入——>ole对象 如下图

image.png

然后选中画笔图片,再点击确定

image.png

出现一个空白方框

image.png 选中方框右击设置对象格式

image.png 出现下图

image.png

点击图片一栏

image.png 点击图形格式进去 输入花括号{} ,会出现如下图,

image.png

然后选中参数,双击 ,参数即被选中,然后点击左上角的保存并关闭

image.png

然后可以设置图片大小,再点击确定

image.png

然后点击保存即可。 运行项目,查看效果

image.png

不过这里要特别强调一下。运行网站的协议和图片链接协议必须一致,否则一直是空白显示,即达不到预期效果。这也是我今天遇到的问题。

比如你的网站是是http ,那么图片必须是http,不能是https.

水晶报表插入动态图片【图片链接,网络图片】全部过程分享完毕! 参考:www.cnblogs.com/babyt/archi…