Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
http://blog.csdn.net/rhljiayou/article/details/7212620
Bitmap photo = BitmapFactory.decodeResource(getResources(), R.drawable.img);
Bitmap tempBitmap = photo.copy(Bitmap.Config.ARGB_8888, true);
Canvas canvas = new Canvas(tempBitmap);
//图像上画矩形
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.STROKE);//不填充
paint.setStrokeWidth(10); //线的宽度
canvas.drawRect(10, 20, 100, 100, paint);
show.setImageBitmap(tempBitmap);
//画中画
Paint photoPaint = new Paint(); // 建立画笔
photoPaint.setDither(true); // 获取跟清晰的图像采样
photoPaint.setFilterBitmap(true);// 过滤一些
Rect src = new Rect(0, 0, photo.getWidth(), photo.getHeight());// 创建一个指定的新矩形的坐标
Rect dst = new Rect(0, 0, 100, 150);// 创建一个指定的新矩形的坐标
canvas.drawBitmap(tempBitmap, src, dst, photoPaint);// 将photo 缩放或则扩大到
show.setImageBitmap(tempBitmap);
// btn = (Button)findViewById(R.id.button);
// btn.setOnClickListener(new View.OnClickListener(){
// @Override
// public void onClick(View v){
// Bitmap photo = BitmapFactory.decodeResource(getResources(), R.drawable.img);
// Bitmap tempBitmap = photo.copy(Bitmap.Config.ARGB_8888, true);
// Canvas canvas = new Canvas(tempBitmap);
//
// //图像上画矩形
// Paint paint = new Paint();
// paint.setColor(Color.RED);
// paint.setStyle(Paint.Style.STROKE);//不填充
// paint.setStrokeWidth(10); //线的宽度
// canvas.drawRect(10, 20, 100, 100, paint);
// show.setImageBitmap(tempBitmap);
//
// //画中画
// Paint photoPaint = new Paint(); // 建立画笔
// photoPaint.setDither(true); // 获取跟清晰的图像采样
// photoPaint.setFilterBitmap(true);// 过滤一些
//
// Rect src = new Rect(0, 0, photo.getWidth(), photo.getHeight());// 创建一个指定的新矩形的坐标
// Rect dst = new Rect(0, 0, 100, 150);// 创建一个指定的新矩形的坐标
// canvas.drawBitmap(tempBitmap, src, dst, photoPaint);// 将photo 缩放或则扩大到
// show.setImageBitmap(tempBitmap);
// }
// });