【转】Android Matrix类实现J2ME的drawRegion的镜像方法【新一则】
来源:互联网 发布:ubuntu 虚拟机 分辨率 编辑:程序博客网 时间:2024/06/05 18:26
转自:http://mycoding.iteye.com/blog/968811
http://novembre.iteye.com/blog/636175
先说说drawRegion方法:
简单的说就是从原图截取一块内容并且可以旋转画在指定的位置。
从网上找了一个方法用matrix实现了,具体代码如下:
一、对称变换
1. 对称于Y轴
其变换矩阵:
其变换为:
2. 对称于X轴:
3. 对称于原点O:
4. 对称于直线y=x:
5. 对称于直线y=-x:
二、drawRegion方法的实现
利用Matrix类,不止可实现对称变换,还可以实现其它的几何变换,包括组合变换。附件中是从网上找到的关于图形变换原理的ppt,希望对大家有帮助。
然而事情到这里并没有结束,我发现对于我来说这个实现方法有一个问题。在往下说之前我先说一下我为什么要在android上实现drawRegion方法,我在做一个动画使用到了动画编辑器spritex,所以必须使用这个编辑器提供的类SpriteX.java,这个类只使用了j2me中的canvas里的基本绘图函数(当然也包括了drawRegion),所以只要你实现了j2me的canvas方法就可以用SpriteX.java,SpriteX.java的paint方法中使用了drawRegion所以我们也必须要实现它。
现在在说说我发现的问题那就是我上面找到的实现方法是使用“Bitmap newMap = Bitmap.createBitmap(image_src.getBitmap(), x_src, y_src, width, height);”来截取一块图像。它create了一个张图片。在android中每次创建图片系统都会GC一次!
现在问题出来了 我的程序移植在刷新--》SpriteX.java的paint方法每次都调用drawRegion--》drawRegion方法每次都createBitmap--》系统每次都GC
这样下去程序肯定会完蛋的,所以我修改了这个类,使用另一种方式来实现了它,没有create。
说明写在程序中了
- 【转】Android Matrix类实现J2ME的drawRegion的镜像方法【新一则】
- 利用Android的Matrix类实现J2ME的drawRegion的镜像方法
- Android Matrix类实现J2ME的drawRegion的镜像方法
- android下高效率的J2ME API之Graphics.drawRegion
- 关于用Android的API重写drawRegion方法的代码
- 关于用Android的API重写drawRegion方法的代码
- iphone(objective-c)相当于j2me的drawRegion方法 截取部分图片显示到指定位置
- android bitmap翻转180,镜像的简单实现方法
- J2ME中,实现多线程的方法
- j2me drawImage方法实现的连续动画
- J2ME与Android的常用类和方法对比
- J2ME与Android的常用类和方法对比
- maven的新的镜像 地址
- J2me Screen类介绍(转自百度空间--像风的男人)
- 用循环的方法实现二叉树的镜像
- 安装新虚拟环境的方法&访问国内镜像方法
- Android Matrix几个方法的使用
- J2ME与Android的常用类和方法对比(转)
- Android 的 MediaPlayer 多媒体播放器
- 将web项目部署到weblogic
- SetStreamSource函数与数据流的使用
- SQL执行效率
- 赛马问题
- 【转】Android Matrix类实现J2ME的drawRegion的镜像方法【新一则】
- 提取SYBASE数据库存储过程
- 让 MySQL 不输出列名 可以用 -N 或者 --skip-column-names 参数
- convirt2.0 测试
- MFC之CRichEdit改变指定区域的背景色和字体
- Android 的 MediaPlayer源码框架讲解
- Ryan Tomayko:我怎样向老伴解释REST
- Report Viewer 导入自定义程序集
- epoll_wait事件顺序