使用android的bitmap类实现图片的拼接

来源:互联网 发布:oracle分批导出数据 编辑:程序博客网 时间:2024/06/08 13:08
package test.com;import android.app.Activity;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Matrix;import android.os.Bundle;import android.view.View;import android.view.Window;import android.view.WindowManager;public class Demo_picActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);//        this.requestWindowFeature(Window.FEATURE_NO_TITLE);//        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);        setContentView(new picRe(this));    }        class picRe extends View    {public picRe(Context context) {super(context);}public picRe(Context context,String[] path){super(context);this.path = path;}public picRe(Context context, String[] path, int width, int height){super(context);this.path = path;this.width = width;this.height = height;}@Overrideprotected void onDraw(Canvas canvas){super.onDraw(canvas);int height_sum = border;Bitmap pic[] = new Bitmap[path.length];for (int i = 0; i < pic.length; i++){pic[i] = Bitmap.createScaledBitmap(BitmapFactory.decodeFile(path[i]), width, height, true);height_sum += pic[i].getHeight() + border;}Bitmap new_pic = Bitmap.createBitmap(width + border * 2, height_sum, Config.ARGB_8888);Canvas _reCanvas = new Canvas(new_pic);_reCanvas.drawColor(-1);for (int i = 0; i < pic.length; i++) {_reCanvas.drawBitmap(pic[i], border, height * i + border * i + border, null);pic[i].recycle();}Matrix new_pic_Matrix = canvas.getMatrix();new_pic_Matrix.postScale(200.0f / (float)width, 200.0f / (float)width);canvas.setMatrix(new_pic_Matrix);canvas.drawBitmap(new_pic, 0, 150, null);}private String[] path = {"data/data/com.test/filse/you.jpg", "data/data/com.test/filse/test.gif", "data/data/com.test/filse/you.jpg"};private int width = 480;private int height = 480;private int border = 5;    }    }

	
				
		
原创粉丝点击