1. 程式人生 > >從零開始學android<Bitmap圖形組件.四十七.>

從零開始學android<Bitmap圖形組件.四十七.>

alt getheight drawtext layout pla cin mas 簡單 制圖

android.graphics.Bitmap(位圖)是Android手機中專門提供的用於操作圖片資源的操作類,使用此類能夠直接從資源文件之中進行圖片資源的讀取。而且對這些圖片進行一些簡單的改動。
經常使用的方法
1 public static Bitmap createBitmap (Bitmap src) 普通 復制一個Bitmap
2 public static Bitmap createBitmap(Bitmap source, int x, int y, int width, int height, Matrix m, boolean filter) 普通 對一個Bitmap進行剪切
3 public final int getHeight() 普通 取得圖像的高
4 public final int getWidth() 普通 取得圖像的寬
5 public static Bitmap createScaledBitmap(Bitmap src, int dstWidth, int dstHeight, boolean filter) 普通 創建一個指定大小的Bitmap

接下來用簡單的樣例來進行說明
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <com.example.bitmap1.MyView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
	</com.example.bitmap1.MyView>

</RelativeLayout>


主程序
package com.example.bitmap1;

import android.os.Bundle;
import android.app.Activity;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
  
    }
    
}

MyView中定義的bitmap

package com.example.bitmap1;
              
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;

public class MyView extends View {

	public MyView(Context context, AttributeSet attrs) {
		super(context, attrs);
		// TODO Auto-generated constructor stub
	}

	@Override
	protected void onDraw(Canvas canvas) {
		// TODO Auto-generated method stub
//		獲取圖片文件
		Bitmap bitmap = BitmapFactory.decodeResource(super.getResources(),
				R.drawable.a4);
//		設置背景畫布顏色
		canvas.drawColor(Color.WHITE);
//		初始化畫筆
		Paint paint=new Paint();
//		設置邊緣羽化
		paint.setAntiAlias(true);
//		繪制圖片
		canvas.drawBitmap(bitmap, 0, 0,paint );
//		設置畫筆顏色
		paint.setColor(Color.BLUE);
//		設置字體尺寸
		paint.setTextSize(20);
//		繪制文字
		canvas.drawText("我的頭像", 10, bitmap.getHeight()+20, paint);
	}
}

技術分享
盡管有點醜。可是繪制的還不錯。對bitmap的操作還有很多,大家能夠參照api自行進行學習,圖形的繪制在遊戲和APP引導用的比較多

下節預報:Mediaplayer自帶播放器

從零開始學android&lt;Bitmap圖形組件.四十七.&gt;