Здравствуйте, уважаемые любители “этого интересного”. У вас есть изображение и очень бы хотелось получить цвет какой-либо его точки? Вам сюда, под кат, в смысле.
Решил сделать некое подобие colorPicker’a во Flash. Нарисовал “радужный” клип и захотел получить цвет пикселя, под которым находится мышка.
Что пришлось для этого сделать?
Во-первых создать класс Main.as для своего мувика. Мувик у меня содержит 3 клипа. 1 – сам радужный клип круглой формы, второй – курсорчик в виде крестика, а 3 – белый прямоугольник, который и будет показывать нам цвет пикселя, чтобы наглядно.
Содержимое класса Main:
/**
* @author DaFive
* mailto: dafive.get@gmail.com
* */package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.MovieClip;
import flash.display.BitmapDataChannel;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.ColorTransform;
public class Main extends MovieClip
{
private var BD:BitmapData;
private var BMAP:Bitmap;
public function Main()
{
Init();
}
private function Init():void
{
BD = new BitmapData(mc.width, mc.height, true, 0);
BD.draw(mc);
BMAP = new Bitmap(BD);
removeChild(mc);
addChild(BMAP);
swapChildren(BMAP, cursor);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMOVE, false, 0, true);
}
private function onMouseMOVE(e:MouseEvent):void
{
var col = BD.getPixel(mouseX, mouseY);
if (col == 0)
{
cursor.x = -1000;
cursor.y = -1000;
MovieClip(mc_trans).transform.colorTransform = new ColorTransform();
}
else
{
cursor.x = mouseX;
cursor.y = mouseY;
var ct:ColorTransform = new ColorTransform();
ct.color = col;
MovieClip(mc_trans).transform.colorTransform = ct;
}
}
}
}* This source code was highlighted with Source Code Highlighter.
Вкратце. С клипа mc делается BitmapData (BD), которая рисуется в Bitmap (BMAP). Затем по событию mouseMove берём цвет пикселя, находящегося под курсором и красим клип.
Сие творение можно увидеть по этой ссылке – http://dafive.webservis.ru/picker/.
Кому надо исходник – пишите в комменты.
12.05.2009 в 14:10
Раскрасочка на базе этого поста, в общем.
31.05.2009 в 20:05
Благодарю за предоставленную информацию.
08.01.2011 в 11:33
Можете прислать исходники флэш раскраски? Заранее спасибо
31.08.2011 в 23:29
Очень понравилось. Если не сложно пришлите исходник.
Спасибо.