android 图片 bitmap,Android:Bitmap做图像处理

说到做图像处理,Bitmap(位图)大家都不陌生,因为它是图像处理中最重要的类之一。使用Bitmap可以对图像进行剪切等操作,是一个很强大,很实用的工具类,使用Bitmap类,我们往往会结合BitmapDrawable来使用,一般过程为:通过BitmapDrawable来获取图片资源,然后调用getBitmap()方法转换成Bitmap的对象,然后再对图片进行处理和绘制。

源代码:(码云:https://gitee.com/zhanma/codes/du9i0bwnpzas8k5om2gyh28)

这里直接给代码截图和效果图:

2d956cfaacbe

2d956cfaacbe

2d956cfaacbe

从72行开始这三个方法时继承自SurfaceView类必须重写的方法,故最后一个就不截图了,从图中可以看到我写了两个draw(分别是draw1()、draw2())。

draw1()是用来绘制原图的,不过由于原图实在太大,所以我给设置了图片的宽度。

draw2()也是用来绘制的,不过这次我剪切了图片的右半部分。

效果:

2d956cfaacbe

原图

2d956cfaacbe

剪切后的效果

Tip:虽然我写了draw1()和draw2(),但是在调用的时候我这里是分别进行调用的,也就是一次只执行一个,另一个要注释掉。从代码中可以看到,每次调用draw(1或2)都要进行一次canvas(画布)的获取,并进行绘制,故如果两个同时执行的话,后面调用的draw2()会把draw1()覆盖,因为第二块画布把第一块给覆盖了。

在运行后,如果出现没有图片的情况,有可能是图片没有加载成功,不妨多运行几遍,或者也可能是Rect类或RectF类参数设置有问题,可以试着对需要修改的参数进行修改并运行,通过多次修改和运行来实现你想要的效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值