Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как задать цвет с учетом прозрачности? (http://www.flasher.ru/forum/showthread.php?t=150873)

luckylad 19.02.2011 06:04

Как задать цвет с учетом прозрачности?
 
Здравствуйте, уважаемые форумчане!

Мне известен один способ задания цвета, с помощью шестнадцатиричного значения, например, 0xFFFFFF (белый). Но это значение не учитывает прозрачность. Есть ли возможность задать цвет с учетом полупрозрачности (например так - 0xAARRGGBB, где AA - значение полупрозрачности)?

Спасибо.

in4core 19.02.2011 13:28

Цитата:

где AA - значение полупрозрачности
нет это не так

Psycho Tiger 19.02.2011 13:45

Цитата:

Сообщение от in4core (Сообщение 974587)
нет это не так

Почему?

@Автор: смотря куда.
Можно как нибудь так:
Код AS3:

object.alpha = (color >>> 24) / 0xFF


spooner 19.02.2011 13:46

Цитата:

Сообщение от luckylad (Сообщение 974510)
например так - 0xAARRGGBB, где AA - значение полупрозрачности

Так цвет задается только в BitmapData#setPixel32, если не ошибаюсь.

cleptoman 19.02.2011 13:52

Цитата:

0xAARRGGBB, где AA - значение полупрозрачности)?
ну так и задавайте. как сказали выше смотрите setPixel32. еще так можно задать дефотный цвет в конструкторе BitmapData, если указан transparent=true;

Цитата:

BitmapData () Constructor

public function BitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF)

Language version: ActionScript 3.0
Player version: Flash Player 9


Creates a BitmapData object with a specified width and height. If you specify a value for the fillColor parameter, every pixel in the bitmap is set to that color.

By default, the bitmap is created as transparent, unless you pass the value false for the transparent parameter. After you create an opaque bitmap, you cannot change it to a transparent bitmap. Every pixel in an opaque bitmap uses only 24 bits of color channel information. If you define the bitmap as transparent, every pixel uses 32 bits of color channel information, including an alpha transparency channel.
RTFM )

Gaen 19.02.2011 13:59

Есть, и делается это именно так, как вы предположили.

in4core 19.02.2011 14:22

Возможно аувтор не про битмапдату говорил. с чего вы вообще взяли что про нее ?

expl 19.02.2011 14:25

Может автор хочет сохранять прозрачность в цвете, чтобы не таскать везде 2 параметра:
Код AS3:

const WINDOW_BACKGROUND:uint = 0x80e0e0e0;
...
graphics.beginFill(Color.WINDOW_BACKGROUND, (Color.WINDOW_BACKGROUND >> 24) / 256);


in4core 19.02.2011 15:12

Что хочет автор мне понятно. Он хочет так :

Код AS3:

graphics.beginFill ( 0x30000000 )  === graphics.beginFill ( 0x000000 , 0.3 )

А тут развилась полемика про битмапдату.

Wolsh 19.02.2011 17:05

expl, я бы делил на 255, иначе у Вас никогда не будет непрозрачного цвета.
Да еще постоянно помнить, что просто черный это 0XFF000000 ))) Все время что-то преобразовывать/пересчитывать.. Оно того стОит?))
in4core, тогда уж 0x4d000000.


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

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