1. /*
  2. *
  3. * *-------------------------*
  4. * | *** 位图翻转、旋转 *** |
  5. * *-------------------------*
  6. *
  7. * 作  者:fengzi(疯子、wu341、wgq341)
  8. * 作者信息:身高(161cm);体重(60kg±);年龄(公元1970后);籍贯(山城直辖市);不会写代码,只是代码搬运工。
  9. * 联系方式:QQ(493712833)。
  10. *
  11. * 随 笔: https://www.cnblogs.com/fengziwu/
  12. *
  13. * 版权协议:请自觉遵守LGPL协议,欢迎修改、复制、转载、传播给更多需要的人。
  14. * 免责声明:任何因使用此软件导致的纠纷与软件/程序开发者无关。
  15. * 日 期: 2019.05.08
  16. * * ------------------ 例子 ----------------------- *
  17. import fengzi.utils.BmdUtil
  18. var bitmap:Bitmap=addChild(new Bitmap(BmdUtil.upanddown(new Img()))) as Bitmap;
  19. */
  20.  
  21. package fengzi.bmd
  22. {
  23. import flash.display.BitmapData;
  24.  
  25. public class BmdUtil
  26. {
  27.  
  28. public function BmdUtil()
  29. {
  30. // constructor code
  31. }
  32.  
  33. /**
  34. * @ 垂直翻转
  35. * @param bt BitmapData对象
  36. * @return 新的BitmapData
  37. */
  38. public static function upanddown(bt:BitmapData):BitmapData
  39. {
  40. var bitmapData:BitmapData = new BitmapData(bt.width,bt.height,true,0x00000000);
  41. for (var i:int=0; i<bt.width; i++)
  42. {
  43. for (var j:int=0; j<bt.height; j++)
  44. {
  45. bitmapData.setPixel32(i, bt.height-j-1, bt.getPixel32(i,j));
  46. }
  47. }
  48. return bitmapData;
  49. }
  50.  
  51. /**
  52. * @ 水平翻转
  53. * @param bt BitmapData对象
  54. * @return 新的BitmapData
  55. */
  56. public static function rightandleft(bt:BitmapData):BitmapData
  57. {
  58. var bitmapData:BitmapData = new BitmapData(bt.width,bt.height,true,0x00000000);
  59. for (var i:int=0; i<bt.height; i++)
  60. {
  61. for (var j:int=0; j<bt.width; j++)
  62. {
  63. bitmapData.setPixel32(bt.width-j-1, i, bt.getPixel32(j,i));
  64. }
  65. }
  66. return bitmapData;
  67. }
  68.  
  69. /**
  70. * @ 90度翻转
  71. * @param bt BitmapData对象
  72. * @return 新的BitmapData
  73. */
  74. public static function turn90(bt:BitmapData):BitmapData
  75. {
  76. var bitmapData:BitmapData = new BitmapData(bt.height,bt.width,true,0x00000000);
  77. for (var i:int=0; i<bt.height; i++)
  78. {
  79. for (var j:int=0; j<bt.width; j++)
  80. {
  81. bitmapData.setPixel32(i,bt.width-j, bt.getPixel32(j,i));
  82. }
  83. }
  84. return bitmapData;
  85. }
  86.  
  87. /**
  88. * @ 270度翻转
  89. * @param bt BitmapData对象
  90. * @return 新的BitmapData
  91. */
  92. public static function turn270(bt:BitmapData):BitmapData
  93. {
  94. var bitmapData:BitmapData = new BitmapData(bt.height,bt.width,true,0x00000000);
  95. for (var i:int=0; i<bt.height; i++)
  96. {
  97. for (var j:int=0; j<bt.width; j++)
  98. {
  99. bitmapData.setPixel32(bt.height-i-1,bt.width-j, bt.getPixel32(j,i));
  100. }
  101. }
  102. return bitmapData;
  103. }
  104.  
  105. }
  106.  
  107. }

  

AS3.0 位图翻转、旋转的更多相关文章

  1. AS3.0 位图(BMP)解析类

    /** * *-----------------------------* * | *** BMP格式解析类 *** | * *-----------------------------* * * 编 ...

  2. “AS3.0高级动画编程”学习:第一章高级碰撞检测

    AdvancED ActionScript 3.0 Animation 是Keith Peters大师继"Make Things Move"之后的又一力作,网上已经有中文翻译版本了 ...

  3. “AS3.0高级动画编程”学习:第二章转向行为(上)

    因为这一章的内容基本上都是涉及向量的,先来一个2D向量类:Vector2D.as (再次强烈建议不熟悉向量运算的童鞋,先回去恶补一下高等数学-07章空间解释几何与向量代数.pdf) 原作者:菩提树下的 ...

  4. 初学Direct X(7) ——位图的旋转,缩放以及平移

    初学Direct X(7) --位图的旋转,缩放以及平移 本文旨在实现通过D3DXMatrixTransformation2D函数实现位图的旋转,缩放以及平移操作,但是具体的原理部分会在后面进一步的探 ...

  5. Android 学习笔记之Bitmap位图的旋转

    位图的旋转也可以借助Matrix或者Canvas来实现. 通过postRotate方法设置旋转角度,然后用createBitmap方法创建一个经过旋转处理的Bitmap对象,最后用drawBitmap ...

  6. Android学习笔记之Bitmap位图的旋转

    位图的旋转也可以借助Matrix或者Canvas来实现. 通过postRotate方法设置旋转角度,然后用createBitmap方法创建一个经过旋转处理的Bitmap对象,最后用drawBitmap ...

  7. [ActionScript 3.0] AS3.0和AS2.0的相互通信

    AS3和AS2之间的通信,最好的方式可能就是LocalConnection了. AS2向AS3发送数据,即AS2调用AS3的函数: as2.0代码(按钮上写的发送信息代码): on (release) ...

  8. 转载:Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式

    Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式 出自:http://www.cnblogs.com/top5/archive/2012/08/04/2623464.html 关 ...

  9. as3.0 interface接口使用方法

    [转]as3.0 interface接口使用方法 AS在2.0的时候就支持接口了 接口能够让你的程序更具扩展性和灵活性,打个例如 比方你定义了一个方法 代码: public function aMet ...

随机推荐

  1. ubuntu进程监视器htop 清除黄色内存(缓存)

    大意是:对于CPU显示条: 蓝色为:低优先级的线程 绿色为:正常优先级线程 红色为:内核线程 对于内存显示条: 蓝色为:缓冲区(buffers) 绿色为:已使用的内存 (橘)黄色为:高速缓存(cach ...

  2. 用variant的数据来推导基因表达 | Imputation of Expression Using PrediXcan

    一个工具的逻辑得足够完善.意义足够重大,才有资格发在NG上. A gene-based association method for mapping traits using reference tr ...

  3. win7 激活码 秘钥

    019.06最新windows7旗舰版系统激活码: 目前市面上的win7旗舰版激活码大部分都已经过期或失效了,下面来分享一些最新的. win7旗舰版激活密钥: BG2KW-D62DF-P4HY6-6J ...

  4. windows powershell学习

    PowerShell,从名字可以知道,他首先是一个shell,shell的意思就是和Linux的bash等一样.和原来的cmd一样就是在里边敲命令(可执行文件)使用: 而Power就意味他是一个功能强 ...

  5. leetcode 611. Valid Triangle Number 、259. 3Sum Smaller(lintcode 918. 3Sum Smaller)

    这两个题几乎一样,只是说611. Valid Triangle Number满足大于条件,259. 3Sum Smaller满足小于条件,两者都是先排序,然后用双指针的方式. 611. Valid T ...

  6. System.Net.WebRequestMethods.cs

    ylbtech-System.Net.WebRequestMethods.cs 1.返回顶部 1. #region 程序集 System, Version=4.0.0.0, Culture=neutr ...

  7. functools.partial偏函数的使用

    https://docs.python.org/3.6/library/functools.html 从名字可以看出,该函数的作用就是部分使用某个函数,即冻结住某个函数的某些参数,让它们保证为某个值, ...

  8. 宣化上人:大佛顶首楞严经四种清净明诲浅释(4-5)(转自学佛网:http://www.xuefo.net/nr/article23/230699.html)

    大佛顶首楞严经四种清净明诲浅释(4) 唐天竺·沙门般剌密帝译 宣化上人主讲 一九八三年四月十七日晚讲于万佛圣城 汝教世人修三摩地.先断心淫.是名如来.先佛世尊.第一决定清净明诲. 所以说,教人这个爱的 ...

  9. Linux查找含有特定字符串的文件

    Linux查找含有特定字符串的文件命令为grep.以下为详细的使用方法 grep [OPTIONS] PATTERN [FILE...] #实例:递归查找当前文件夹下所有含有test的文件,并显示行号 ...

  10. Go语言学习笔记——Go语言数据类型

    布尔型 布尔型的值只可以是常量 true 或者 false.一个简单的例子:var b bool = true. 数字类型 整型 int 和浮点型 float32.float64,Go 语言支持整型和 ...