Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Фича по ColorTransform (http://www.flasher.ru/forum/showthread.php?t=215197)

in4core 15.03.2018 16:14

Фича по 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 не учитывается

in4core 16.03.2018 13:15

Парни окей, смотрите - я беру делаю скриншот экрана методом draw - понятное дело, там 100500 объектов, кто то под колорТрнасформ кто то еще под какими анаболиками, и что делать тогда?

Bletraut 16.03.2018 17:55

Цитата:

Сообщение от in4core (Сообщение 1204535)
Парни окей, смотрите - я беру делаю скриншот экрана методом draw - понятное дело, там 100500 объектов, кто то под колорТрнасформ кто то еще под какими анаболиками, и что делать тогда?

Всё в один контейнер и его скриншотить, либо сам stage, но скорее всего это костыль и такое не практикуется.

Добавлено через 1 минуту
Цитата:

...либо сам stage, но скорее всего это костыль и такое не практикуется.
Если твоя совесть позволит использовать правило, работает и ладно.

Добавлено через 11 минут
Код AS3:

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


in4core 17.03.2018 17:11

А чем зарисовка напрямую стейдж отличается от спрайта в данном случае?

Добавлено через 55 секунд
Так как зарисовка чисто стейдж не работает, всмысле трансыорм не применяется


Часовой пояс GMT +4, время: 07:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.