图片取色器:
/**
*
* *---------------------*
* | *** 图片取色器 *** |
* *---------------------*
*
* 编辑修改收录:fengzi(疯子、wu341、wgq341)
*
* 不会写代码,我是代码搬运工。
*
* 联系方式:QQ(493712833)。
*
* 随 笔: https://www.cnblogs.com/fengziwu/
*
* 版权协议:请自觉遵守LGPL协议,欢迎修改、复制、转载、传播给更多需要的人。
* 免责声明:任何因使用此软件导致的纠纷与软件/程序开发者无关。
* 日 期: 2019.05.08
*
* ---------------------- 实例 --------------------------- *
*图片取色器
import fengzi.colors.ExtractColor;
var s:ColorPicker=new ExtractColor(图片);
addChild(s);
s.addEventListener("color.move",colorMoveHandler);
function colorMoveHandler(event:Event):void
{
trace(event.target.color)
}
*/
package fengzi.colors
{
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.Event;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.PixelSnapping;
import flash.events.MouseEvent;
public class ExtractColor extends Sprite
{
static public const COLOR_MOVE:String = "color.move";
private var bitmap:Bitmap;
private var bitmapData:BitmapData;
private var imgMc:*;
private var _color:uint = 0;
private var colorStr:String
/***
* ExtractColor 图片取色器
* @param imgMc 图片对象
***/
public function ExtractColor(imgMc: * )
{
getColor(imgMc);
}
private function getColor(mc:*)
{
bitmapData = new BitmapData(mc.width,mc.height,false,0xFFFFFF);
bitmapData.draw(mc);
bitmap = addChild(new Bitmap(bitmapData,PixelSnapping.AUTO,false)) as Bitmap;
this.addEventListener(MouseEvent.MOUSE_MOVE,moveHandler);
}
private function moveHandler(event:MouseEvent):void
{
_color = bitmapData.getPixel(mouseX,mouseY);
var temp_color:String = _color.toString(16);
var temp_length:int = temp_color.length;
if (temp_length < 6)
{
switch (temp_length)
{
case 4 :
colorStr = "0x00" + _color.toString(16);
break;
case 5 :
colorStr = "0x0" + _color.toString(16);
break;
default :
trace("no case tested true");
}
}
else
{
colorStr = (("0x" + _color.toString(16)) + "00000").slice(0,8);
}
trace(colorStr);
dispatchEvent(new Event(COLOR_MOVE));
}
/***
* color 返回一个16进制颜色值(0xff00ff)
***/
public function get color():String
{
return colorStr;
}
}
}
浙公网安备 33010602011771号