Просмотр полной версии : Фича по ColorTransform
Столкнулся с одной неприятной особенностью ( может быть это баг openFL конечно,а во флеше такого нет ) - берем дОбъект, например битмап. Пусть это будет красный квадрат. Меняем цвет через colorTransorm делая допустим его белым квадратом. Далее пробуем зарисовать его в bitmapData - увидим красный квадрат, собственно вот и вопрос, какого лешего пропадает надстройка?
Bletraut
15.03.2018, 17:34
Кинуть ещё в один ДО-контейнер и отрисовать его.
Добавлено через 1 минуту
Либо если отрисовывается методом draw(), то там ColorTransform и так нужно указывать.
undefined
15.03.2018, 20:02
Отображает исходный экранный объект source поверх растрового изображения с помощью векторного средства визуализации среды выполнения Flash. Можно задать параметры matrix, colorTransform, blendMode и clipRect назначения, чтобы управлять процессом визуализации. Также можно указать, должно ли сглаживать растровое изображение при масштабировании (это применимо только если источником является объект BitmapData).
Т.е. подефолту colorTransform не учитывается
Парни окей, смотрите - я беру делаю скриншот экрана методом draw - понятное дело, там 100500 объектов, кто то под колорТрнасформ кто то еще под какими анаболиками, и что делать тогда?
Bletraut
16.03.2018, 17:55
Парни окей, смотрите - я беру делаю скриншот экрана методом draw - понятное дело, там 100500 объектов, кто то под колорТрнасформ кто то еще под какими анаболиками, и что делать тогда?
Всё в один контейнер и его скриншотить, либо сам stage, но скорее всего это костыль и такое не практикуется.
Добавлено через 1 минуту
...либо сам stage, но скорее всего это костыль и такое не практикуется.
Если твоя совесть позволит использовать правило, работает и ладно.
Добавлено через 11 минут
public function init():void
{
var c:Sprite = new Sprite();
c.x = 200;
stage.addChild(c);
var a:Shape = new Shape();
a.graphics.beginFill(0xFF0000);
a.graphics.drawRect(0, 0, 100, 100);
a.graphics.endFill();
a.transform.colorTransform = new ColorTransform(0, 1, 1, 1, 0, 0xFF);
c.addChild(a);
var b:Bitmap = new Bitmap(new BitmapData(a.width, a.height, true));
b.bitmapData.draw(c);
stage.addChild(b);
}
А чем зарисовка напрямую стейдж отличается от спрайта в данном случае?
Добавлено через 55 секунд
Так как зарисовка чисто стейдж не работает, всмысле трансыорм не применяется
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.