/*
*
* *-------------------------*
* | *** 位图翻转、旋转 *** |
* *-------------------------*
*
* 作  者:fengzi(疯子、wu341、wgq341)
* 作者信息:身高(161cm);体重(60kg±);年龄(公元1970后);籍贯(山城直辖市);不会写代码,只是代码搬运工。
* 联系方式:QQ(493712833)。
*
* 随 笔: https://www.cnblogs.com/fengziwu/
*
* 版权协议:请自觉遵守LGPL协议,欢迎修改、复制、转载、传播给更多需要的人。
* 免责声明:任何因使用此软件导致的纠纷与软件/程序开发者无关。
* 日 期: 2019.05.08
* * ------------------ 例子 ----------------------- *
import fengzi.utils.BmdUtil
var bitmap:Bitmap=addChild(new Bitmap(BmdUtil.upanddown(new Img()))) as Bitmap;
*/ package fengzi.bmd
{
import flash.display.BitmapData; public class BmdUtil
{ public function BmdUtil()
{
// constructor code
} /**
* @ 垂直翻转
* @param bt BitmapData对象
* @return 新的BitmapData
*/
public static function upanddown(bt:BitmapData):BitmapData
{
var bitmapData:BitmapData = new BitmapData(bt.width,bt.height,true,0x00000000);
for (var i:int=0; i<bt.width; i++)
{
for (var j:int=0; j<bt.height; j++)
{
bitmapData.setPixel32(i, bt.height-j-1, bt.getPixel32(i,j));
}
}
return bitmapData;
} /**
* @ 水平翻转
* @param bt BitmapData对象
* @return 新的BitmapData
*/
public static function rightandleft(bt:BitmapData):BitmapData
{
var bitmapData:BitmapData = new BitmapData(bt.width,bt.height,true,0x00000000);
for (var i:int=0; i<bt.height; i++)
{
for (var j:int=0; j<bt.width; j++)
{
bitmapData.setPixel32(bt.width-j-1, i, bt.getPixel32(j,i));
}
}
return bitmapData;
} /**
* @ 90度翻转
* @param bt BitmapData对象
* @return 新的BitmapData
*/
public static function turn90(bt:BitmapData):BitmapData
{
var bitmapData:BitmapData = new BitmapData(bt.height,bt.width,true,0x00000000);
for (var i:int=0; i<bt.height; i++)
{
for (var j:int=0; j<bt.width; j++)
{
bitmapData.setPixel32(i,bt.width-j, bt.getPixel32(j,i));
}
}
return bitmapData;
} /**
* @ 270度翻转
* @param bt BitmapData对象
* @return 新的BitmapData
*/
public static function turn270(bt:BitmapData):BitmapData
{
var bitmapData:BitmapData = new BitmapData(bt.height,bt.width,true,0x00000000);
for (var i:int=0; i<bt.height; i++)
{
for (var j:int=0; j<bt.width; j++)
{
bitmapData.setPixel32(bt.height-i-1,bt.width-j, bt.getPixel32(j,i));
}
}
return bitmapData;
} } }

  

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. Oracle数据库使用出现错误-状态: 失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist

    Oracle数据库使用出现错误-状态: 失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist ...

  2. pt-table-checksum解读【转】

    pt-table-checksum是目前可以说是最好的查看主从一致性的工具 先来个使用例子,有助快速上手使用 在主库执行: mysql>GRANT SELECT, PROCESS, SUPER, ...

  3. 码云 Gitee 云端软件平台学习--GitHub

    码云 Gitee http://git.oschina.net/jackjiang/MobileIMSDK http://www.blogjava.net/jb2011/archive/2018/11 ...

  4. Spring AOP Log

    spring aop action中验证用户登录状态 - CASER_HDMI的博客 - CSDN博客https://blog.csdn.net/CASER_HDMI/article/details/ ...

  5. Spring Junit4 接口测试

    Junit实现接口类测试 - dfine.sqa - 博客园http://www.cnblogs.com/Automation_software/archive/2011/01/24/1943054. ...

  6. AndoridSQLite数据库开发基础教程(10)

    AndoridSQLite数据库开发基础教程(10) 添加触发器 触发器(TRIGGER)是由事件来触发某个操作.这些事件包括INSERT.DELETE.UPDATE和UPDATE OF.当数据库系统 ...

  7. DEX-6-caffe模型转成pytorch模型办法

    在python2.7环境下 文件下载位置:https://data.vision.ee.ethz.ch/cvl/rrothe/imdb-wiki/ 1.可视化模型文件prototxt 1)在线可视化 ...

  8. C#关于时间(获取特定格式的时间及多种方式获取当前时间戳)以及10位和13位时间戳转为特定格式

    C#关于时间(获取特定格式的时间及多种方式获取当前时间戳)以及10位和13位时间戳转为特定格式 置顶 2018年03月06日 19:16:51 黎筱曦 阅读数:19098 标签: C#时间 更多 个人 ...

  9. pycharm远程SSH调用服务器python解释器教程

    该教程主要介绍pycharm远程SSH调用解释器以及建立SFTP文件传输协议: 第一步:建立SSH连接: 第二步:建立SFTP协议: (1)SSH: 配置远程python解释器 这里主要讲的是如何配置 ...

  10. web端自动化——Remote应用

    Selenium Grid允许同时并行地.在不同的环境上运行多个测试任务.这里主要演示一下怎么使用Selenium Grid. 准备: 1. 需要两台机子 2.两台机子分别安装好JDK环境 3.两台机 ...