c# - object'不包含'Save'的定义,并且找不到接受'object'类型的第一个参数的扩展方法'Save'
问题描述
我需要像这样将条形码图片添加到 crpReport 中的 Barcodemat 列
r["BarcodeMat"] = ImageToByte2(bar.Encode(typebq, data, w, hh));
这是我的函数 ImageToByte2
private byte[] ImageToByte2(object img)
{
byte[] byteArray = new byte[1];
using (MemoryStream stream = new MemoryStream())
{
img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
stream.Close();
byteArray = stream.ToArray();
}
return byteArray;
}
我有错误
img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
错误说“对象”不包含“保存”的定义,并且找不到接受“对象”类型的第一个参数的扩展方法“保存”
解决方案
从barnhill/barcodelib Barcode
(第 336 行),
public Image Encode(TYPE iType, string StringToEncode, int Width, int Height)
该方法与Image
类型一起返回。
因此,将img
参数更改为Image
类型。
using System.Drawing;
private byte[] ImageToByte2(Image img)
{
...
}
参考
barnhill/barcodelib,C#条码图像生成库(示例部分),下载barcodelib的源码_GitHub_帮酷
推荐阅读
- oracle - 使用 EXECUTE IMMEDIATE 选择数据并将其存储在变量中
- selenium - 公共和私有选择器方法之间的区别
- javascript - 返回数据在特定的 if 语句中不起作用
- python - 在Python中使用相同的键在字典中查找不同的值
- svn - 我无法从 SVN 存储库导入项目
- javascript - 如何限制 jquery 触发器功能完成其任务
- java - 如何在列表视图下方添加文本视图?
- jquery - 对图像执行 function() 后,对下一张图像执行相同操作 (jQuery)
- wordpress - 在 Wordpress 中替换 URL
- kubernetes - Google 中的 Kubernetes 集群 (GKE) 超过了扩展节点