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;
    		}
    
    
    
    
    
    
    
    
    	}
    
    }
    

      

  • 相关阅读:
    浅谈管道模型(Pipeline)
    经常使用的webservice接口
    2012年终总结
    【Linux】linux经常使用基本命令
    php:兄弟连之面向对象版图形计算器1
    学习selenium所须要具备的技术
    Sftp和ftp 差别、工作原理等(汇总ing)
    对数据分布进行可视化的方法
    FusionCharts简单教程(一)---建立第一个FusionCharts图形
    闭包和柯里化
  • 原文地址:https://www.cnblogs.com/fengziwu/p/10908704.html
Copyright © 2011-2022 走看看