您的位置:首页 > 移动开发 > Android开发

Android群英传之Android绘图机制与处理技巧

2016-07-23 02:19 323 查看

1、屏幕尺寸信息

1)屏幕参数

屏幕大小:对角线长度,单位,寸

分辨率:手机屏幕像素点个数,720x1280

dpi:每英寸像素

2)系统屏幕密度

密度ldpimdpihdpixhdpixxhdpi
密度值120160240320480
分辨率240x320320x480480x480720x12801080x1920

3)独立像素密度

在mdpi下:1dp=1px

各个分辨率换算比例ldpi : mdpi :hdpi:xhdpi:xxhdpi为3:4:6:8:12

4)单位转换工具类

/**
* 常用单位转换的辅助类
*/
public class DisplayUtil {

/**
* dp转px
*/
public static int dp2px(Context context, float dpVal) {
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
dpVal, context.getResources().getDisplayMetrics());
}

/**
* sp转px
*/
public static int sp2px(Context context, float spVal) {
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
spVal, context.getResources().getDisplayMetrics());
}

/**
* px转dp
*/
public static float px2dp(Context context, float pxVal) {
final float scale = context.getResources().getDisplayMetrics().density;
return (pxVal / scale);
}

/**
* px转sp
*/
public static float px2sp(Context context, float pxVal) {
return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);
}
}


2、2D绘图基础

(1)Canvas对象

drawPoint,drawLine,drawRect,drawRoundRect,drawCircle,drawArc,drawOval,drawText,drawPosText(在指定位置绘制文本),drawPath(绘制路径)

(2)Paint对象

setAntiAlias:设置画笔的锯齿效果

setColor:设置画笔的颜色

setARGB:设置画笔的A、R、G、B值

setAlpha:设置画笔的透明度值

setTextSize:设置字体大小

setStyle:设置画笔的效果(空心STROKE或者实心FILL)

setStrokeWidth:设置空心边框的宽度

3、Android XML绘图

这里不做详细记录,官网的Drawable Resources有详细且齐全介绍

4、Android绘图技巧

1)Canvas 画布

四个主要方法:

save:保存画布,将之前绘制的内容保存起来;

restore:合并画布,将save方法之后绘制的内容与之前绘制的内容合并起来;

translate:移动画布,其实是画布所在的坐标系的移动;

rotate:旋转画布,其实是画布所在的坐标系的旋转。

2)Layer 图层

在Android中图层是基于栈的结构来管理的,通过调用saveLayer、saveLayerAlpha方法来创建图层,使用restore、restoreToCount方法将一个图层入栈。入栈的时候,后面所有的操作都发生在这个图层上,而出栈的时候则会把图像绘制在上层Canvas上。

5、Android图像处理之色彩特效处理

色彩特效处理、图形特效处理、画笔特效处理

内容很多很庞杂,但是很有意思,以后学习,相机的各种特效看完这节都能自己实现了

6、SurfaceView

之前有过记录Android SurfaceView简介
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android