repositoryItemPictureEdit 中显示网络图片 DevExpress学习
来源:互联网 发布:嘉兴市余新镇菜鸟网络 编辑:程序博客网 时间:2024/06/05 18:27
上一节我们讲到了PictureEdit 的使用 这一节我们来看看在gridControl中的repositoryItemPictureEdit 控件的图片显示 看起来好像是相同的 不过 据我这几天来的研究 发现Dome中的repositoryItemPictureEdit没有使用到Image属性 在属性当中也没有找到这个选项 看来repositoryItemPictureEdit中只能使用Dome中的方法 使用System.Byte[] 字节来存储图片 后显示... 下面我们来看看具体的实现过程
在自己的项目中 我使用DevExpress来开发 C/S 软件模式来管理网站的总后台 在网站的数据库当中 有很多存储图片路劲的url地址 要让这些图片在客户端gridControl中的repositoryItemPictureEdit显示出来,用上一节的方法显然是不行的 我用的是DevExpress 8.3 后续版本是否支持我是不清楚 先将自己的学习结果发出来 供大家参考
先将要显示的数据读到DataSet当中 其中有个字段 比如 UrlImage 是存储图片的地址 以下代码
ds.Tables[0].Columns.Add("Imgs",System.Type.GetType("System.Byte[]")); //新增dataset一列 名为Imgs 类型为System.Byte[]
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string src = ds.Tables[0].Rows[i]["UrlImage"].ToString();
ds.Tables[0].Rows[i]["Imgs"] = getImageByte(src); //通过getImageByte()函数获取图片的Byte[]
}
gridControl1.DataSource = ds.Tables[0]; //绑定到gridControl1当中 在gridControl1 中repositoryItemPictureEdit 设置FieldName为Imgs
ds.Dispose();
/// <summary>
///根据html路径获取图片的字节
/// </summary>
/// <param name="imagePath"></param>
/// <returns></returns>
private byte[] getImageByte(string imagePath)
{
try
{
Image obj = Image.FromStream(System.Net.WebRequest.Create(imagePath).GetResponse().GetResponseStream());
byte[] bt = ImageToByteArray(obj); //使用ImageToByteArray()函数 将Image类型转成Byte[]类型
obj.Dispose();
return bt;
}
catch //如果获取异常 则使用资源中的图片显示
{
Image obj = Resource1._20090119102027514;
byte[] bt = ImageToByteArray(obj);
obj.Dispose();
return bt;
}
}
/// <summary>
/// 根据image获取图片的字节
/// </summary>
/// <param name="image"></param>
/// <returns></returns>
private byte[] ImageToByteArray(Image image)
{
System.IO.MemoryStream mStream = new System.IO.MemoryStream();
image.Save(mStream, System.Drawing.Imaging.ImageFormat.Png);
byte[] ret = mStream.ToArray();
mStream.Close();
return ret;
}
在自己的项目中 我使用DevExpress来开发 C/S 软件模式来管理网站的总后台 在网站的数据库当中 有很多存储图片路劲的url地址 要让这些图片在客户端gridControl中的repositoryItemPictureEdit显示出来,用上一节的方法显然是不行的 我用的是DevExpress 8.3 后续版本是否支持我是不清楚 先将自己的学习结果发出来 供大家参考
先将要显示的数据读到DataSet当中 其中有个字段 比如 UrlImage 是存储图片的地址 以下代码
ds.Tables[0].Columns.Add("Imgs",System.Type.GetType("System.Byte[]")); //新增dataset一列 名为Imgs 类型为System.Byte[]
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string src = ds.Tables[0].Rows[i]["UrlImage"].ToString();
ds.Tables[0].Rows[i]["Imgs"] = getImageByte(src); //通过getImageByte()函数获取图片的Byte[]
}
gridControl1.DataSource = ds.Tables[0]; //绑定到gridControl1当中 在gridControl1 中repositoryItemPictureEdit 设置FieldName为Imgs
ds.Dispose();
/// <summary>
///根据html路径获取图片的字节
/// </summary>
/// <param name="imagePath"></param>
/// <returns></returns>
private byte[] getImageByte(string imagePath)
{
try
{
Image obj = Image.FromStream(System.Net.WebRequest.Create(imagePath).GetResponse().GetResponseStream());
byte[] bt = ImageToByteArray(obj); //使用ImageToByteArray()函数 将Image类型转成Byte[]类型
obj.Dispose();
return bt;
}
catch //如果获取异常 则使用资源中的图片显示
{
Image obj = Resource1._20090119102027514;
byte[] bt = ImageToByteArray(obj);
obj.Dispose();
return bt;
}
}
/// <summary>
/// 根据image获取图片的字节
/// </summary>
/// <param name="image"></param>
/// <returns></returns>
private byte[] ImageToByteArray(Image image)
{
System.IO.MemoryStream mStream = new System.IO.MemoryStream();
image.Save(mStream, System.Drawing.Imaging.ImageFormat.Png);
byte[] ret = mStream.ToArray();
mStream.Close();
return ret;
}
- repositoryItemPictureEdit 中显示网络图片 DevExpress学习
- DevExpress GridColumn 显示图片
- Devexpress 中aspxhyperlink 同时显示图片和文字
- 在DevExpress GridControl的一列中显示图片
- Devexpress gridcontrol列中根据值显示图片
- android中显示网络图片
- android中显示网络图片
- Android中显示网络图片
- Android中显示网络图片
- Android中显示网络图片
- Android中显示网络图片
- ListView中显示网络图片
- 学习Android之SimpleAdapter显示网络图片
- Android中显示网络上的图片
- Android中显示网络上的图片
- iOS 开发中如何显示网络图片
- android中Picasso显示网络图片
- ASPXGridView footer 中显示汇总信息【Devexpress】
- 将图片放入数据库中已经从数据库中把图片读出来
- 伸缩控件dockManager详细设置 DXperience学习笔记
- pictureEdit详细设置笔记 devexpress教程
- hdu 1789 Doing Homework again(贪心)
- 个人对编译四个阶段理解
- repositoryItemPictureEdit 中显示网络图片 DevExpress学习
- c语言面试题__指针篇
- DevExpress控件汉化教程详解
- XtraGrid数据绑定和设置 DevExpress学习笔记
- chrome剧中了 但是ie不居中 怎么办?
- c# MD5加密 DES加密解密字符串函数
- org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml
- 黑马程序员-ADO.NET
- c#两种方式 dataset 与byte[] 字节的转换函数