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








	}

}

  

猜你喜欢

转载自www.cnblogs.com/fengziwu/p/10908704.html