最近在做一个APP,其中用到了canvas和drawBitmap()
但是对drawBitmap(Bitmap bitmap,Rect src,Rect dst,Paint paint)这个方法的Rect src和Rect dst两个参数一直不太理解,特别学习了一下。
本文参考了 https://blog.csdn.net/ddwhan0123/article/details/53885732
第一,我先定义一个类继承了View,重写了onDraw()方法。

之后我将在存在drawable里面的一张图绘制到view上,以下是部分代码,w1和h1是图片的宽和高。


此时效果图

那么,为什么效果图会是这样呢?Rect src和Rect dst在其中起了什么作用?
Rect src=new Rect(left,top,right,bottom)
Rect dst=new Rect(left,top,right,bottom)
Rect描述矩形,是一个常用的绘画工具类。其中,四个参数如图所示定义。

src在此处的作用是绘制Bitmap的哪一部分,dst是将bitmap绘制到哪个位置。
上述代码中,src设置的是new Rect(0,0 ,w1,h1),即是整个图片
那么如果只绘制图片的四分之一,例如左下角部分。那么,


可以看出,图片在左上角,那么,想将图片位置移动,就要改变dst的值。


可以看出,当改变dst的值时,图片进行了移动。
后续可能会对canvas,paint进行总结。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...