zoukankan      html  css  js  c++  java
  • AS3.0 位图翻转、旋转

    /*
     *
     * *-------------------------*
     * |  *** 位图翻转、旋转 ***  |
     * *-------------------------*
     *
     * 作  者: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;
    		}
    
    
    
    
    
    
    
    
    	}
    
    }
    

      

  • 相关阅读:
    LN : leetcode 217 Contains Duplicate
    LN : leetcode 53 Maximum Subarray
    day23——删除数据、更改数据、索引
    day22——创建表、增加数据、查询数据
    day21——游标、mysql连接池、设计表结构
    day20——安装客户端、数据库连接、mysql事务、mysql操作数据
    day19——常用正则表达式、re正则对象和正则匹配效率比较、编译正则对象
    day20——re的matche方法和search方法、re的split,findall,finditer方法、re的matche对象
    day18——json
    day17——logging、os模块、commands模块、sys模块
  • 原文地址:https://www.cnblogs.com/fengziwu/p/10908704.html
Copyright © 2011-2022 走看看