![]() |
работа с BitmapData неточные данные
Записываю BitmapData
Код:
imgbit.setPixels(rect,c);Код:
var imgbar1:ByteArray = imgbit.getPixels(rect); |
пытаясь воспроизвести вышеописанную ситуацию, получил ещё эффект:
Код:
var c = new ByteArray();Цитата:
|
Потому что напрямую так с массивом не работают.
Ничего никуда не изменяется: Код:
import flash.display.BitmapData; |
етц, а если писать ba.writeUnsignedInt(0x01345678); ?
|
Я думаю, некий смысл вытекает из этого:
Цитата:
|
premultiplied и unmultiplied это что за пиксели?
aQuestion А выход-то какой, не злоупотреблять альфой? |
премультиплайед = предварительно умноженный (на альфу от 0 до 1)
анмультиплайед = не умноженный (или же разумноженный обратно) в силу целочисленности конверсия из премультиплайед в анмультиплайед, очевидно, идёт с потерями. выход - смотря из какой ситуации. в том топике, например, я пытался использвать альфу для хранения ч/б картинки, и мой выход, т.о., свёлся к использованию отдельного файла. |
т.е избежал ситуации, когда необходимо получить данные из BitmapData?
|
не, у меня просто была цветная картинка (карта) и ч/б (маска воды). я подумал что неплохо бы сэкономить, и запихнуть всё в один пнг. оказалось, что плохо.
подумай, никак ли нельзя тебе хранить альфу отдельно от остальных каналов. |
хз.. как из пнг можно выделить альфа канал?
а я кодирую байт массив, просто хотел эмитировать загрузку данных (каждый раз получать массив из битмапа). сейчас у меня массив из битмапа загружается только один раз, после этого уже битмап строится на основе байт массива.. |
ха, так что мешает писать все альфы = 255 и пропускать при чтении? и вообще, разве нет в ас3 специально предусмотренной возможности грузить совершенно левые файлы?
|
Цитата:
и на счет левых файлов - ненормально, на мой взгляд, что для того чтобы закодировать изображение я должен предоставить карту прозрачности.. |
попо дробнее: альфа=255 байт1 байт2 байт3 255 байт4 байт5 байт6 255 байт7 байт8...
попо воду других файлов, я имел ввиду URLLoader и его событие Event.COMPLETE, где можно извлечь необходимый файл где-то как Код:
function onComplete( e:Event ):void |
Цитата:
|
lzw вроде в gif?
|
и там тоже. 2 релегиозно близких формата. например png-8 от gif вообще не отличается.
|
Наличием альфа прозрачности :)
|
в png-8 нет альфы :) как и в гифе. есть флаг цвета указывающий на прозрачность. только png-8 не поддерживает анимацию.
|
Значит мой Fireworks читер :D
http://etcs.ru/files/png8_alpha.png А вот и сам PNG8 с альфа-прозрачностью: http://etcs.ru/files/png8_with_alpha.png |
aQuestion
а зачем их пропускать, они же пиксели...:wacko: |
ты ж сказал что хочешь массив загрузить через картинку.
|
ну я вроде и загружаю..
Зачем при этом пропускать байты с альфой? Не пойму я как ты хочешь сделать.. |
Видимо да, потому что фотошот так не умел. как минимум в 7й версии.
по ходу у png-8 можно палирту составлять с альфой. фотошоп раньше не умел. наверно сейчас умеет, я его не юзал уже года 3. |
Цитата:
|
Но ведь тогда все пиксели будут не прозрачными, а если куда-нибудь сохранять байты с альфой и заменять потом, то не лучше ли сохранить все байты.
|
Объяснили же, что альфу отдельно, цвета отдельно. Если все вместе, то будут искажения. Так яснее?
|
я вообще думал что речь про абстрактній массив чисел, а не о картинке.
|
| Часовой пояс GMT +4, время: 12:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.