关于Canvas的旋转和平移

Drawable newDrawable = getResources().getDrawable(mImageIds[newState])
                .mutate();
Drawable oldDrawable = getResources().getDrawable(mImageIds[oldState])
                .mutate();
Bitmap bitmap = null;

bitmap = Bitmap.createBitmap(width, bitmapHeight,
                    Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
newDrawable.setBounds(0, 0, newDrawable.getIntrinsicWidth(),
                    newDrawable.getIntrinsicHeight());
oldDrawable.setBounds(0, oldBitmapOffset,
                    oldDrawable.getIntrinsicWidth(),
                    oldDrawable.getIntrinsicHeight() + oldBitmapOffset);

//canvas.rotate(orientation+180, width / 2, width / 2);
//canvas.translate(-oldBitmapOffset, 0);

newDrawable.draw(canvas);
oldDrawable.draw(canvas);

canvas看作画布,Drawable看作图画,bitmap看作能显示这幅画的画框大小

canvas旋转平移后,坐标原点也会随之改变。

时间: 2024-10-16 15:01:53

关于Canvas的旋转和平移的相关文章

【WebGL初学系列之五】旋转,平移,缩放

nbcoder.com地址:http://nbcoders.com/webgl-chu-xue-xi-lie-zhi-wu-ai.html 最近把WebGL做的相关Demo已经放在 http://www.nbcoders.com 上了,这样就可以直观的进行看效果. 地址:    http://lab.nbcoders.com/ixshells/ 本文旋转平移缩放Demo的地址: http://lab.nbcoders.com/ixshells/Html/ScaleRotateTranslate.

赵雅智_Tween动画(旋转、平移、放缩和渐变)

Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转.平移.放缩和渐变). Tweene Animations. 主要类 Animation   动画 AlphaAnimation 渐变透明度 RotateAnimation 画面旋转 ScaleAnimation 渐变尺寸缩放 TranslateAnimation 位置移动 AnimationSet  动画集 该View很简单,画面上只有一个图片. 现在我们要对整个View分别实现各种Tween动画效果. AlphaAnim

canvas之旋转一条线段

1 <canvas id="canvas" width="600" height="500" style="background-color: yellow;"></canvas> 1 var canvas=document.getElementById("canvas"); 2 var cxt=canvas.getContext('2d'); 3 cxt.lineWidth=10;

[ html canvas 旋转 缩放 平移 ] canvas绘图实现旋转复制实例演示

<!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta name='description' content='this is my page'> <meta name='keywords' content='keyword1,keyword2,keyword3'> <meta http-equiv="

jQuery + Canvas 伸缩旋转方块

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Canvas</title> <script type="text/javascript" src="jQuery.js"></script> </head> <style type="text/css&q

HTML5 Canvas 描画旋转45度佛教万字

效果如下: 代码如下: <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <head> <title>旋转45度佛教万字</title> </head> <body onload="draw

android canvas rotate 旋转的一些总结(旋转的一些注意点)

在自定义控件和利用surfaceview时候利用serfaceHolder锁定画布画图做游戏的时候,在绘制tank的图片的时候需要根据tank的方向来绘制,因此就用到canvas的rotate(float degrees)方法,试过很多次都导致屏幕上绘制的图片都乱七八糟,不是按照想象的来的.经过了很多次的尝试终于掌握了个规律: canvas在绘制的时候旋转遵循: 1.canvas.draw(bitmap , left , top , paint)中left . top始终是按照画布的坐标来的,不

图片的缩放、旋转和平移

1.视图 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 andr

OpenGL绘制简单场景,实现旋转缩放平移和灯光效果

本项目实现了用OpenGL绘制一个简单场景,包含正方体.球体和网格,实现了物体的旋转.缩放.平移和灯光效果.附有项目完整代码,有详细注释.适合初学者熟悉opengl使用. 开发情况 开发环境VS2012+OpenGL 开发平台 Intel core i5,Intel HD Graphics Family 本项目实现了绘制一个场景(包括立方体.球体.网格),对各物体实现平移.旋转.缩放功能,添加了光源并简单设置了物体材质. 本项目示例代码下载(里面有详细注释) 感谢nehe的框架! 场景介绍 初始