/*
*
* *-------------------------*
* | *** 位图翻转、旋转 *** |
* *-------------------------*
*
* 作  者: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. [转]OpenGL编程指南(第9版)环境搭建--使用VS2017

    1.使用CMake Configure中选择VS2017 Win64 , Finish: 点击Generate. 2.进入build目录 打开GLFW.sln , 生成解决方案. 打开vermilio ...

  2. phpstorm 断点调试总是从index.php的第一行开始

    去掉勾选,重开phpstorm

  3. 京东 PC 首页 2019 改版前端总结 原创: 何Jason,EC,小屁 凹凸实验室 今天

    京东 PC 首页 2019 改版前端总结 原创: 何Jason,EC,小屁 凹凸实验室 今天

  4. Prometheus磁盘监控

    根据挂载目录 (node_filesystem_size_bytes {mountpoint ="/"} - node_filesystem_free_bytes {mountpo ...

  5. vs2017发布后宕机,没有响应解决方法

    找到项目下:Properties\PublishProfiles 删除:FolderProfile.pubxml.user

  6. Android: ListView与Button的共存问题解决

    ListView 和 其它能触发点击事件的widget无法一起正常工作的原因是加入其它widget后,ListView的itemclick事件将无法触发,被其它widget的click事件屏蔽.   ...

  7. colock

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  8. vmware配置双网卡

    最近在学习使用iptables做网关服务器,即SNAT设置 我们的宿主机有两块网卡,地址分别是: 192.168.6.108/24 192.168.66.119/24 我们的目标是在虚拟机VMware ...

  9. 【转载】 机器学习实战 - 读书笔记(07) - 利用AdaBoost元算法提高分类性能

    原文地址: https://www.cnblogs.com/steven-yang/p/5686473.html ------------------------------------------- ...

  10. 一、postman简介

    一.场景 1.开发接口的时候需要快速的调用接口,以便调试 2.测试的时候需要非常方便的调用接口,通过不同的参数去测试接口的输出 3.这些接口调用是需要保存下来的反复运行的 4.在运行过程中如果有断言( ...