为了账号安全,请及时绑定邮箱和手机立即绑定

将图片剪切成你想要的形状

标签:
Android
public Bitmap cutPic(Bitmap bitmap){
    Bitmap mImage=bitmap;
    Bitmap mMask=null;
    Bitmap mImageChanged=null;
    Bitmap result=null;
       //s_massege_hw是你用作图工具做出的形状图片
     mMask=BitmapFactory.decodeResource(getResources(), R.drawable.s_massege_hw);
    Matrix matrix = new Matrix();
        matrix.postScale((float)mMask.getWidth()/(float)mImage.getWidth(),(float)mMask.getHeight()/(float)mImage.getHeight() ); 
       //将图片缩放到和形状图片一样的大小
        mImageChanged = Bitmap.createBitmap(mImage, 0, 0, mImage.getWidth(),mImage.getHeight(), matrix, true);
        
        result = Bitmap.createBitmap(mMask.getWidth(),mMask.getHeight(), Config.ARGB_8888);
        Canvas mCanvas = new Canvas(result);
        Paint paint =new Paint();
        paint.setColor(0xffffffff);
        paint.setAntiAlias(true);
        
        //切割模式,取交集上层
        paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
        mCanvas.drawBitmap(mMask, 0, 0, null);
        mCanvas.drawBitmap(mImageChanged, 0, 0, paint);
        paint.setXfermode(null); 
        
    return result;
}

原文链接:http://www.apkbus.com/blog-653697-59420.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消