Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Номера каналов в методе copyChannel (http://www.flasher.ru/forum/showthread.php?t=117277)

chingachgoog 23.10.2008 13:57

Номера каналов в методе copyChannel
 
Цитата:

sourceChannel:Number - The source channel. Use a value from the set (1,2,4,8), which represent red, green, blue, and alpha channels, respectively, or a sum of any of the values.

destChannel:Number - The destination channel. Use a value from the set (1,2,4,8), which represent red, green, blue, and alpha channels, respectively, or a sum of any of the values.
Собственно заинтересовала фраза or a sum of any of the values.
Действительно, суммы из чисел 1,2,4,8 - уникальные.
Но, например, iNils в своем переводе метода лишь указал, что
Цитата:

Если задать любое другое значение, то в качестве источника будет принят "мнимый" канал имеющий цвет 0x00 для каждого пикселя.
Выходит, что возможность задать сумму каналов не работает? Или нужен особый синтаксис?

iNils 23.10.2008 14:06

Первод делался по хелпу из 8-го флеша:
Цитата:

sourceChannel:Number - The source channel. Use a value from the set (1,2,4,8), which represent red, green, blue, and alpha channels, respectively.

destChannel:Number - The destination channel. Use a value from the set (1,2,4,8), which represent red, green, blue, and alpha channels, respectively.
Как видно, фразы "or a sum of any of the values" там не было.

chingachgoog 23.10.2008 14:12

Все равно пока не нашел, как это работает...

iNils 23.10.2008 14:49

Я тоже не знаю, в хелпе AS3 этой фразы опять нет.

chingachgoog 23.10.2008 15:15

Мистика...
Хотя хелп AS3 вообще основан на принципе "догадайся сам":
параметр sourceChannel, например, описан как uint, но вместо короткой записи этого uint (типа 1,2,4,8) предлагается переписывать константы (BitmapDataChannel.RED, BitmapDataChannel.GREEN, BitmapDataChannel.BLUE,
BitmapDataChannel.ALPHA)

iNils 23.10.2008 15:26

Константы более информативны, я сам стараюсь их использовать, тк упрощает быструю смену значений. В as2 я эмулировал их с помощью геттеров.

Волгоградец 23.10.2008 16:09

Да. Какая-то ересь. Действительно - можно указывать сумму. Например 3 - это 2 + 1 - т.е. сумма красного и зеленого каналов. Но судя по всему используется побитовое сложение. А это всегда дает ноль. Т.е. в хелпе пример:
Код:

var myBitmapData:BitmapData = new BitmapData(100, 80, false, 0xCCССCC);
//...
myBitmapData.copyChannel(myBitmapData, new Rectangle(0, 0, 50, 80), new Point(51, 0), 3, 2);

Получается sourceChannel = 3 = 0xСС & 0x00CC = 0! Это значение подставляем в destChannel = 2 = 0xCC00CC.
Итоговый цвет - 0xCCCCCC & 0xCC00CC = 0xCC00CC.
Может я конечно что-то напутал т.к. действительно информации ноль, но судя по всему это бесполезная фишка.


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

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