android图像相关

首先是Bitmap:

从资源文件中得到bitmap有两种方式:

一:

		Resources r = getResources();
		InputStream is = r.openRawResource(R.drawable.icon);
		BitmapDrawable bmpDraw = new BitmapDrawable(is);
		Bitmap bmp1 = bmpDraw.getBitmap();
二:

BitmapDrawable drawable = (BitmapDrawable)r.getDrawable(R.drawable.icon)




一下是画各种图形,首先写了一个画图形的接口:

package com.song.ui;

import android.graphics.Canvas;

public interface drawGraphics
{
	public void draw(Canvas canvas);
}

然后花各种图形的时候实现接口:

画线:

package com.song.ui;

import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;

/**
 * 画线
 * @author song
 *
 */
public class DrawLine implements drawGraphics
{
	//声明一个画笔
	private Paint mPaint;
	
	public DrawLine()
	{
		mPaint = new Paint();
	}
	
	@Override
	public void draw(Canvas canvas)
	{
		//消除锯齿
		mPaint.setAntiAlias(true);
		//直线 颜色:绿色
		mPaint.setColor(Color.GREEN);
		//设置线条粗细
		mPaint.setStrokeWidth(12);
		//画两条直线
		canvas.drawLine(90, 40, 140, 90, mPaint);
		canvas.drawLine(290, 90, 340, 40, mPaint);
	}
}

画圆:

package com.song.ui;

import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;

/**
 * 画圆
 * @author song
 *
 */
public class DrawCircle implements drawGraphics
{
	private Paint paint ;
	private Paint paint_eye;
	
	public DrawCircle()
	{
		paint= new Paint();
		paint_eye=new Paint();
	}
	
	@Override
	public void draw(Canvas canvas)
	{
		//绘制圆形(圆心X,圆心Y,半径R,画笔P)
		paint_eye.setAntiAlias(true);
		paint.setAntiAlias(true);
		RectF rectF= new RectF(90, 60, 340, 240);
		paint_eye.setColor(Color.WHITE);
		paint.setColor(Color.GREEN);
		canvas.drawArc(rectF, 180, 180, true, paint);
		//画两个眼睛
		canvas.drawCircle(160, 110, 18, paint_eye);
		canvas.drawCircle(270, 110, 18, paint_eye);
	}

}

画矩形:

package com.song.ui;

import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;

/**
 * 画矩形
 * 
 * @author song
 * 
 */
public class DrawRect implements drawGraphics
{
	private Paint paint;

	public DrawRect()
	{
		paint = new Paint();
	}

	@Override
	public void draw(Canvas canvas)
	{
		// 定义圆角矩形对象
		RectF rectF1 = new RectF(90, 170, 340, 500);
		RectF rectF2 = new RectF(10, 150, 60, 400);
		RectF rectF3 = new RectF(360, 150, 410, 400);
		RectF rectF4 = new RectF(110, 520, 170, 650);
		RectF rectF5 = new RectF(260, 520, 320, 650);
		paint.setAntiAlias(true);
		// 设置画笔颜色为BLUE
		paint.setColor(Color.GREEN);
		// 在画布上绘制圆角矩形/圆弧/直线
		canvas.drawRoundRect(rectF1, 20, 20, paint);
		canvas.drawRoundRect(rectF2, 20, 20, paint);
		canvas.drawRoundRect(rectF3, 20, 20, paint);
		canvas.drawRoundRect(rectF4, 20, 20, paint);
		canvas.drawRoundRect(rectF5, 20, 20, paint);
	}

}

这个可以画出来一个Android的机器人,

工程名:TL03_graphics_test



  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值