dev 图片自适应 PictureEdit

本文介绍了如何使用DEV中的PictureEdit组件处理从Oracle数据库获取的字节流图片。当遇到图片过大无法完全显示的问题时,通过创建缩略图并设置为PictureEdit的Image属性来实现图片自适应显示。具体实现包括读取内存流中的图片,生成与PictureEdit大小匹配的缩略图,并提供了一个回调方法进行辅助判断。
摘要由CSDN通过智能技术生成

最近作项目时用到了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; }

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值