任意不规则形状的图片剪裁

本文介绍了一种高效的方法来剪裁不规则形状的图片,利用GraphicsPath选择区域,获取边境矩形,仅处理该部分提高效率。通过复制和设置透明度,实现类似Photoshop套索工具的效果。文章提供了像素级处理和内存处理两种方式,并提醒使用不安全代码需项目设置允许。
摘要由CSDN通过智能技术生成
 

原理:根据选择的区域(区域的选择需要用到GraphicsPath),根据区域可以得到这部分区域的边境矩形,从而不需要循环整张图片,只需要循环边境矩形,将矩形中的选择区域复制到另一种图片,这样大大提高了效率。根据选择的区域,可以得到复制出位于GraphicsPath中的这部分图片,同时设置这部分图片为透明,同时还要设置另一种图片不在GraphicsPath内的区域为透明,这样看起来的效果就是从图片中扣出来的一样,意思和PhotoShop的套索工具差不多。

说得有点晕了,还是看效果图吧:(左边是剪裁出来的图)

 下面说说关键的代码。

方法一:像素级的处理,循环整张图片,一个一个像素复制出来,效率比较低。

/// <summary>
        /// 图片剪裁(像素级的处理,效率比较低)
        /// </summary>
        /// <param name="bitmap">原图</param>
        /// <param name="path">选择的路径</param>
        /// <param name="outputBitmap">输出的图片(即剪裁出来的图片)</param>
        /// <returns>
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值