canvas教程

请教android图片处理技巧(2)

字号+ 作者:H5之家 来源:H5之家 2015-10-15 12:41 我要评论( )

引用8楼BuleRiver的回复:创建一个空的Bitmap,然后使用该bitmap创建画布,把原来的图片缩放后,绘制在这个画布上。 分享一下代码 2013-10-29 15:17:53 u010749756 9楼 引用2楼youngc527的回复:创建一个800×480的Bi

引用 8 楼 BuleRiver 的回复:创建一个空的Bitmap,然后使用该bitmap创建画布,把原来的图片缩放后,绘制在这个画布上。

分享一下代码

2013-10-29 15:17:53 u010749756 9楼

引用 2 楼 youngc527 的回复:创建一个800×480的 Bitmap
    Bitmap bitmap = Bitmap.createBitmap ...
创建一个Canvas
    Canvas canvas = new Canvas(bitmap)
计算一下中间的位置,把原图画上去
    canvas.drawBitmap ...
如果需要,把bitmap保存成JPG/PNG,质量选高点
    bitmap.compress ...
Bitmap bitmap = Bitmap.createBitmap(800, 480, Config.ARGB_8888);//创建一个800*480的背景!
Canvas canvas = new Canvas(bitmap);//创建一个Canvas
canvas.drawBitmap(bitmap , matrix, paint);  //好像没有一个方法能将原图绘制上去

2013-10-29 15:45:20 u010749756 10楼

引用 2 楼 youngc527 的回复:创建一个800×480的 Bitmap
    Bitmap bitmap = Bitmap.createBitmap ...
创建一个Canvas
    Canvas canvas = new Canvas(bitmap)
计算一下中间的位置,把原图画上去
    canvas.drawBitmap ...
如果需要,把bitmap保存成JPG/PNG,质量选高点
    bitmap.compress ...
drawBitmap 方法中把原图绘制上去,没发现这个类似的参数

2013-10-29 16:15:01 u010749756 11楼

引用 2 楼 youngc527 的回复:创建一个800×480的 Bitmap
    Bitmap bitmap = Bitmap.createBitmap ...
创建一个Canvas
    Canvas canvas = new Canvas(bitmap)
计算一下中间的位置,把原图画上去
    canvas.drawBitmap ...
如果需要,把bitmap保存成JPG/PNG,质量选高点
    bitmap.compress ...
public class MyView extends View {

private Paint paint;
private Canvas canvas;

public MyView(Context context) {
super(context);
paint = new Paint();
paint.setAntiAlias(true);
this.setKeepScreenOn(true);
paint.setColor(Color.RED);

}

public void OnDraw(Canvas canvas) {
Bitmap bg = Bitmap.createBitmap(
BitmapFactory.decodeResource(getResources(), R.drawable.abc),
0, 0, 800, 480);//800*480的背景图片
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.canvas_top);//目标图片
canvas = new Canvas(bg);
canvas.save(Canvas.ALL_SAVE_FLAG);
canvas.restore();
int width = bitmap.getWidth();
int height = bitmap.getHeight();
tochange(bitmap, width / 2, height / 2);//对目标图片进行压缩
canvas.drawBitmap(bitmap, 0, 0, paint);

}

public Bitmap tochange(Bitmap bitmap, int newWidth, int newHeight) {
int width = bitmap.getWidth();
int height = bitmap.getHeight();
Matrix matrix = new Matrix();
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
matrix.postScale(scaleWidth, scaleHeight);
Bitmap bm = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix,
true);
return bm;

}
}

是不是这个,但是测试时没有显示

2013-10-30 10:41:36 xiaobeiweng 12楼

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • HTML5+Canvas调用手机拍照功能实现图片上传(下)

    HTML5+Canvas调用手机拍照功能实现图片上传(下)

    2017-04-30 17:00

  • Canvas与ValueAnimator

    Canvas与ValueAnimator

    2017-04-28 18:00

  • Android Bitmap和Canvas学习笔记(转)

    Android Bitmap和Canvas学习笔记(转)

    2017-04-28 17:00

  • 21天学习android开发教程之SurfaceView与多线程的混搭

    21天学习android开发教程之SurfaceView与多线程的混搭

    2017-04-27 12:00

网友点评
d