Android游戏开发基础part3--Paint 画笔
游戲開發基礎part3--Paint 畫筆
Paint畫筆是繪圖的輔助類,一般它是作為畫布的參數來實現相應的效果,Paint類中包含文字與位圖的樣式、顏色等屬性信息。Paint的常用方法如下:
1.setAntiAlias(boolean aa)
作用:設置畫筆是否無鋸齒
參數:true表示無鋸齒,false表示有鋸齒,默認為flase。
2.setAlpha(int a)
作用:設置畫筆透明度
參數:透明度
3.setTextAlign(Paint.Align align)
作用:設置繪制文本的錨點
參數:Paint.Align類中的常量
4.measureText(String text)
作用:獲取文本內容的寬度
參數:文本內容
5.setStyle(Style style)
作用:設置畫筆樣式
參數:樣式實例
6.setColor(int color)
作用:設置畫筆顏色
參數:色值
7.setStrokeWidth(float width)
作用:設置畫筆的粗細程度
參數;畫筆粗細值
8.setTextSize(float textSize)
作用:設置畫筆在繪制文本時,文本字體的尺寸
參數:尺寸值
9.setARGB(int a, int r ,int g, int b)
作用:設置畫筆的ARGB分量
第一個參數:畫筆透明度分量
第二個參數:畫筆紅色分量
第三個參數:畫筆綠色分量
第四個參數:畫筆藍色分量
?
創建項目實例:PaintProject
項目運行效果:
項目源代碼:
==>MySurfaceView.java
package com.paint;import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.Style; import android.graphics.Rect; import android.view.SurfaceHolder; import android.view.SurfaceHolder.Callback; import android.view.SurfaceView;public class MySurfaceView extends SurfaceView implements Callback {//用于控制SurfaceViewprivate SurfaceHolder sfh;private Paint paint;private Canvas canvas;public MySurfaceView(Context context) {super(context);//實例SurfaceHoldersfh = this.getHolder();//為SurfaceView添加狀態監聽sfh.addCallback(this);//實例一個畫筆paint = new Paint();//設置畫筆顏色為白色paint.setColor(Color.WHITE);}@Overridepublic void surfaceCreated(SurfaceHolder holder) {// TODO Auto-generated method stubmyDraw();}@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {// TODO Auto-generated method stub}@Overridepublic void surfaceDestroyed(SurfaceHolder holder) {// TODO Auto-generated method stub}/*** 自定義繪圖函數*/public void myDraw(){try{canvas = sfh.lockCanvas();if (canvas != null){canvas.drawColor(Color.WHITE);//----設置畫筆無鋸齒Paint paint1 = new Paint();canvas.drawCircle(40, 30, 20, paint1);paint1.setAntiAlias(true);canvas.drawCircle(100, 30, 20, paint1);//----設置畫筆的透明度canvas.drawText("無透明度",100,70,new Paint());Paint paint2 = new Paint();paint2.setAlpha(0x77);canvas.drawText("半透明度",20,70,paint2);//----設置繪制文本的錨點canvas.drawText("錨點", 20, 90, new Paint());Paint paint3 = new Paint();//設置以文本的中心繪制paint3.setTextAlign(Paint.Align.CENTER);canvas.drawText("錨點",20,105,paint3);//-----獲取文本的長度Paint paint4 = new Paint();float len = paint4.measureText("文本寬度:");canvas.drawText("文本長度:"+len, 20, 130, new Paint());//----設置畫筆樣式canvas.drawRect(new Rect(20,140,40,160),new Paint());Paint paint5 = new Paint();//設置畫筆不填充paint5.setStyle(Style.STROKE);canvas.drawRect(new Rect(60,140,40,160), paint5);//----設置畫筆顏色Paint paint6 = new Paint();paint6.setColor(Color.GRAY);canvas.drawText("灰色", 30, 180, paint6);//----設置畫筆粗細程度canvas.drawLine(20, 200, 70, 200, new Paint());Paint paint7 = new Paint();paint7.setStrokeWidth(7);canvas.drawLine(20, 220, 70, 220, paint7);//----設置畫筆繪制文本的字體粗細Paint paint8 = new Paint();paint8.setTextSize(20);canvas.drawText("文字尺寸", 20, 260, paint8);//----設置畫筆ARGB分量Paint paint9 = new Paint();paint9.setARGB(0x77, 0xff, 0x00, 0x00);canvas.drawText("紅色半透明", 20, 290, paint9);}} catch(Exception e){}finally{if(canvas != null)sfh.unlockCanvasAndPost(canvas);}} }
?
?
轉載于:https://www.cnblogs.com/wwj9413/archive/2012/06/18/2638570.html
總結
以上是生活随笔為你收集整理的Android游戏开发基础part3--Paint 画笔的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 交换两个局部变量Integer的值
- 下一篇: cad画圆如何确定圆心_CAD如何利用对