上一篇已經從網頁端獲取到了圖片,接下來把獲取到的圖片變成縮略圖在表格中展示
- 首先準備表Dev控件gridcontrol:
在表格中新建一列,設置ColumnEdit屬性爲PictureEdit
- 獲取到的Image 需要轉換爲字節流
/// <summary>
/// 返回圖片的字節流byte[]
/// </summary>
/// <returns></returns>
public byte[] getImageByte(Image image)
{
Image.GetThumbnailImageAbort callb = new Image.GetThumbnailImageAbort(ThumbnailCallback);
Image ReducedImage = image.GetThumbnailImage(100, 100, callb, IntPtr.Zero);//獲取縮略圖
Bitmap bt = new Bitmap(ReducedImage);
imgByte = ImgToByte(bt);//圖片轉換成字節流
return imgByte;
}
public bool ThumbnailCallback()
{
return false;
}
public byte[] ImgToByte(Image img)
{
try
{
using (MemoryStream ms = new MemoryStream())
{
byte[] imagedata = null;
img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
imagedata = ms.GetBuffer();
return imagedata;
}
}
catch (Exception ee)
{
MessageBox.Show(ee.ToString());
return null;
}
}
- gridcontrol設置數據源
DataTable dtSource = new DataTable();
dtSource.Columns.Add(new DataColumn("name"));
dtSource.Columns.Add("thumbnail", System.Type.GetType("System.Byte[]"));
DataRow dr = dtSource.NewRow();
dr["name"] = name;
dr["thumbnail"] = getImageByte(img);
dtSource.Rows.Add(dr);
gridView1.RowHeight = 120;
gridControl1.DataSource = null;
gridControl1.DataSource = dtSource;
- 效果圖