@Override
protected void onDraw(Canvas canvas) {
//矩阵重置
matrix.reset();
//保存相机状态
camera.save();
//对相机位置进行变换
camera.rotateX(degX);
//将对相机的变化 转换到 矩阵
camera.getMatrix(matrix);
//将相机恢复到之前保存的状态
camera.restore();
//设置矩阵前乘 后乘,其实就是设置矩阵的变换的参照中心点
matrix.preTranslate(-getWidth()/2, -getHeight()/2);
matrix.postTranslate(getWidth()/2, getHeight()/2);
//将矩阵的变换 传递给画布 这时再在画布上绘制,就是变换后的效果了
canvas.concat(matrix);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.mipmap.a1);
Rect src = new Rect(0,0,bitmap.getWidth(),bitmap.getHeight());
Rect dst = new Rect(0,0,getWidth(),getHeight());
canvas.drawBitmap(bitmap,src,dst,new Paint());
}
关于Android 3d效果实现 简单记录
最新推荐文章于 2021-08-19 21:03:24 发布