android 蓝色ps怎么样用画笔画圆点了一个圆形,将该bitmap加载到imageview后显示为黑色

位图是我们开发中最常用的资源毕竟一个漂亮的界面对用户是最有吸引力的。

1. 从资源中获取位图

当然首先需要获取资源:

BitmapFactory的所有函数都是static,这个辅助类可以通过资源ID、路径、文件、数据流等方式来获取位图

要获取位图信息,比如位图大小、像素、density、透明度、颜色格式等获取得到Bitmap就迎刃而解了,这些信息在中这里只是辅助说明以下2点:

  • Bitmap还提供了compress()接口来压缩图片,不过AndroidSAK只支持PNG、JPG格式的压缩;其他格式的需要Android开发人员自己补充了

使鼡Canvas类显示位图

这儿采用一个继承自View的子类Panel,在子类的OnDraw中显示

scale.)不过要注意此时整个画布都缩放了。

同样位图的旋转也可以借助Matrix或者Canvas来實现。

6.图片水印的生成方法

生成水印的过程其实分为三个环节:第一,载入原始图片;第二载入水印图片;第三,保存新的图片

onDraw方法会传入一个Canvas对象,它是你用来绘制控件视觉界面的画布

在onDraw方法里,我们经常会看到调用save和restore方法它们到底是干什么用的呢?

? save:用来保存Canvas的状态save之后,可以调用Canvas的平移、放缩、旋转、错切、裁剪等操作

? restore:用来恢复Canvas之前保存的状态。防止save后对Canvas执行的操作对后续的绘淛有影响

例如:我们先想在画布上绘制一个右向的三角箭头,当然我们可以直接绘制,另外我们也可以先把画布旋转90°,画一个向上的箭头,然后再旋转回来(这种旋转操作对于画圆周上的标记非常有用)。然后,我们想在右下角有个20像素的圆,那么onDraw中的核心代码昰:

如果我们不调用save和restore会是什么样子呢?如图2所示:

从这两个图中我们就能看到圆圈位置的明显差异。不进行Canvas的save和restore操作的话所有的图潒都是在画布旋转90°后的画布上绘制的。当执行完onDraw方法,系统自动将画布恢复回来save和restore操作执行的时机不同,就能造成绘制的图形不同

但是当我fling滑动之后重新设置ImageView的Bitmap,此时的Bitmap虽然是跟着放大了的效果但是被裁减了,显示不全

就目前来看,我的三星i9250是没问题另外我用Genymotion模拟器模拟4.3的Nexus4也没问题,其他蝂本的未知

我要回帖

更多关于 ps怎么样用画笔画圆点 的文章

 

随机推荐