android vanvas scale translate 的理解
来源:互联网 发布:知乎 张居正 编辑:程序博客网 时间:2024/05/16 05:36
package com.example.canvasdemo;
import android.app.Activity;
import android.os.Bundle;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.view.View;
import java.util.Random;
import android.util.Log;
public class CanvasDemoActivity extends Activity{
private static final String TAG = "CanvasDemoActivity";
Drawable d;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
d = new ColorDrawable(Color.RED);
t = " + canvas.getHeight()); canvas
setContentView(new CanvasView(this));
}
class CanvasView extends View {
Random random = new Random();
public CanvasView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
//canvas.drawRGB(random.nextInt(256), random.nextInt(256), random.nextInt(256));
//canvas.drawRGB(1, 1, 1);
Log.d(TAG,"onDraw canvas.width = " + canvas.getWidth() + " canvas.height = " + canvas.getHeight());
canvas.save();
canvas.translate(500,500);
canvas.scale(0.1f, 0.1f);
//canvas.translate(500, 500);
Paint paint = new Paint();
paint.setColor(Color.GREEN);
canvas.drawCircle(0, 0, 500, paint);
//d.draw(canvas);
canvas.restore();
//canvas.drawColor(Color.BLUE);
}
}
}
1、原图:没有scale translate
1、canvas.scale(0.1f,0.1f);
canvas.translate(500,500);
canvas先压缩为原来的0.1倍,然后原点平移500个px,但是此时的500 在屏幕上显示只有 500 * 0.1 = 50px,也及时其平移是相对于canvas 本身的,其原点位置相对于屏幕为50px 见图1
2、canvas.translate(500,500);
canvas.scale(0.1f,0.1f);
canvas原点先平移到(500,500),然后再压缩为原来的0.1倍,其原点位置相对于屏幕为(500,500) 见图2
- android vanvas scale translate 的理解
- android动画Scale+Translate
- Android-动画01-alpha、scale、translate、rotate的xml属性
- Android动画效果translate、scale、alpha、rotate
- Android动画效果translate、scale、alpha、rotate
- Android动画效果translate、scale、alpha、rotate
- Android动画效果translate、scale、alpha、rotate
- Android动画效果translate、scale、alpha、rotate
- Android动画效果translate、scale、alpha、rotate
- Android动画效果translate、scale、alpha、rotate
- Android动画效果translate、scale、alpha、rotate
- Android动画效果translate、scale、alpha、rotate
- Android动画效果translate、scale、alpha、rotate
- Android ainmation(三.scale and translate)
- Android画布canvas rotate,translate的理解
- canvas的translate、scale、rotate等方法
- canvas的translate、scale、rotate等方法
- canvas的translate、scale、rotate等方法
- 项目四--长方柱类
- getInstanceCount and e.printStackTrace
- 解析LINUX的passwd文件
- 图文解说Win7系统机器上发布C#+ASP.NET网站
- ORA-01439:要更改数据类型,则要修改的列必须为空
- android vanvas scale translate 的理解
- Android 4.4 源码和SDK下载
- PAT1007. Maximum Subsequence Sum
- 5 TCP客户端/服务器程序实例
- Amazon.com的推荐:从商品到商品的协同过滤
- ubuntu c++ 头文件被删除后如何恢复
- linux下Java环境的配置
- ArcGIS Engine基础开发教程(4)— 学习图层符号化
- VC08中怎么显示中文