最近作项目时用到了DEV PictureEdit组件,图片都是来自于oracle数据库,以字节流的方式传给PictureEdit,但有些图片过大,在PictureEidt里只能显示一部分,于是挨个找与Image相关的方法,终于找到了解决方法,可能这个解决方法有点笨拙,但还是先记下来,有好的解决方法时可以作个对比.
DataRow row = vDataTable.Rows[0];
if (row["XM"] != DBNull.Value)
{
if (row["ZP"] != DBNull.Value)
{
MemoryStream ms = new MemoryStream((byte[])row["ZP"]);
Image.GetThumbnailImageAbort callBack = new Image.GetThumbnailImageAbort(getTure);
//调用图像处理类的生成缩略图方法,把大图片缩小成以PictureEdit宽和高相匹配的图像
pictureEdit1.Image = Image.FromStream(ms, true, true)
.GetThumbnailImage(pictureEdit1.Width, pictureEdit1.Height, callBack, IntPtr.Zero);
}
}
//回调方法判断是否可以终止
public bool getTure()
{ return true; }