background image

Android 画图技巧应用方式解析

Android 操作系统开发中,对于图形界面的操作时非常常见的一个基础操作。我们可

以先通过本文介绍的有关

Android 画图的相关操作,来具体了解一下图形界面的操作技巧 ,

以此提高我们对这一系统的认知程度。

1

import java.io.InputStream;   import android.app.Activity;   

2

import android.content.Context;   import android.graphics.Bitmap;   

3

import android.graphics.BitmapFactory;   import android.graphics.Canvas;   

4

import android.graphics.Color;   import android.graphics.LinearGradient;   

5

import android.graphics.Paint;   import android.graphics.PorterDuff;   

6

import android.graphics.PorterDuffXfermode;   import android.graphics.Shader;   

7

import android.graphics.Typeface;   import android.os.Bundle;   

8

import android.view.View;   public class AlphaBitmap extends Activity {   

9

@Override   protected void onCreate(Bundle savedInstanceState) {   

10

super.onCreate(savedInstanceState);   setContentView(new SampleView(this));   

11

}   private static class SampleView extends View {   

12

private Bitmap mBitmap;   private Bitmap mBitmap2;   

13

private Bitmap mBitmap3;   private Shader mShader;   

14

private static void drawIntoBitmap(Bitmap bm) {   float x = bm.getWidth();   

15

float y = bm.getHeight();   // 建一个有制定对象的画布   

16

Canvas c = new Canvas(bm);   Paint p = new Paint();   

17

// 主要用来消除边缘吧从效果上看 好像 false 的话有毛边   p.setAntiAlias(true);   

18

p.setAlpha(0x555555);//灰色   c.drawCircle(x/2, y/2, x/2, p);   

19

p.setAlpha(0x0000ff);//

 

 

 

p.setXfermode(new 

PorterDuffXfermode(PorterDuff.Mode.SRC_OVER));   

20

// 下面是字体的相关设置   p.setTextSize(20);   

21

String 

familyName 

"

"; 

 

 Typeface 

font 

Typeface.create(familyName,Typeface.ITALIC);   

22

p.setTypeface(font);   p.setTextAlign(Paint.Align.CENTER);   

23

Paint.FontMetrics  fm  =  p.getFontMetrics();     c.drawText(" 我 爱 android",  x/2,  (y-

fm.ascent)/2, p);   

24

}   public SampleView(Context context) {   

25

super(context);   setFocusable(true);   

26

// 得到图像的几种方法   InputStream is = context.getResources().

openRawResource(R.drawable.app_sample_code);   

27

mBitmap = BitmapFactory.decodeStream(is);   //从一幅图像抽取色值变为新的图像,

一般是画笔的颜色

 同下面