文水煮火

博客园 首页 联系 订阅 管理

一、图片切割

1,GetPixel()SetPixel():按照像素点进行复制,消耗时间太长

2,Graphics.DrawImage(Image image,Rectangle area):内存消耗根据要切割的图片的大小改变,大图片时可能会导致内存不足崩溃

3,前段时间看.net的源代码发现了一个调用C++底层的方法:

  Image.Clone(Rectangle rect):内存消耗是DrawImage方式的二分之一左右(可能和图片大小有关),时间消耗是SetPixel方法的六分之一左右

二、透明处理

1,GetPixel()SetPixel():速度慢,方法low。,

2,使用Matrix方法,在System.Drawing.dll中

    在绘制图片时DrawImage有30个重载方法,其中有几个方法中带有ImageAttribute类的参数,可以设置矩阵,对图片的透明度进行批量处理,速度,几乎是秒完吧~

posted on 2017-04-25 17:02  文水煮火  阅读(218)  评论(0编辑  收藏  举报