/*
*
* *-------------------------*
* | *** 位图翻转、旋转 *** |
* *-------------------------*
*
* 作  者: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. useReducer代替Redux小案例-2(八)

    通过上节课的学习,用useContext实现了Redux状态共享的能力,这节课看一下如何使用useReducer来实现业务逻辑的控制.需要注意的是这节课的内容是接着上节课的,需要你把上节课的代码部分完 ...

  2. 【vue】常用操作

    一.Vue中import from的来源:省略后缀与加载文件夹 https://blog.csdn.net/fyyyr/article/details/83657828 二.Vue安装依赖 #安装依赖 ...

  3. Postman使用方法示例

  4. linux下终端字体彩色显示

     linux下python彩色显示   跨平台彩色显示库https://pypi.python.org/pypi/colorama   jlive@MacBook-Pro:py_demo $pytho ...

  5. Docs-.NET-C#-指南-语言参考-关键字-值类型:struct

    ylbtech-Docs-.NET-C#-指南-语言参考-关键字-值类型:struct 1.返回顶部 1. struct(C# 参考) 2015/07/20 struct 类型是一种值类型,通常用来封 ...

  6. Opencv图片明暗处理

    Opencv图片明暗处理 #include <iostream> #include <opencv2/opencv.hpp> using namespace std; usin ...

  7. linux无网络情况下安装rpm包

    首先理清楚两个东西:rpm和yum.rpm全称redhat package manager,用来管理软件包:yum全称yellow dog updater,modified,它是rpm的前端程序,因为 ...

  8. Tomcat 目录结构以及相关规范的介绍

    目录 安装tomcat tomcat目录结构 tomcat/bin目录 tomcat/conf目录 tomcat/logs目录 JavaEE对项目结构的规范 war包 安装Tomcat 参考:安装Ja ...

  9. Fastjson 序列化与反序列化

    JSON这个类是fastjson API的入口,主要的功能都通过这个类提供. 序列化API // 将Java对象序列化为JSON字符串,支持各种各种Java基本类型和JavaBean public s ...

  10. Python - Django - 模板语言之 Tags(标签)

    标签使用 {% %} 注释语句:{# #} for 循环: views.py: from django.shortcuts import render, redirect, HttpResponse ...