Показать сообщение отдельно
Старый 03.01.2008, 17:14
aQuestion вне форума Посмотреть профиль Найти все сообщения от aQuestion
  № 2  
Ответить с цитированием
aQuestion
Banned
 
Аватар для aQuestion

Регистрация: Dec 2005
Сообщений: 556
пытаясь воспроизвести вышеописанную ситуацию, получил ещё эффект:
Код:
var c = new ByteArray();
c.length = 8;
c.writeByte (6);
c.writeByte (148);
c.writeByte (59);
c.writeByte (175);
trace(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7]);

imgbit.setPixels(rect,c);
c.writeByte (1);
c.writeByte (2);
c.writeByte (3);
c.writeByte (4);
trace(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7]);
output:
Цитата:
6 148 59 175 0 0 0 0
6 148 59 175 0 0 0 0
собственно, по вопросу: у вас альфа = 6, следовательно вместо 148 сохранится 6 * 148 / 255 = 3, а прочитается 3 * 255 / 6 = 127. аналогично 6 * 59 / 255 = 1, 1 * 255 / 6 = 42, и то же самое для 175. это слегка подзабытые мной грабли.


Последний раз редактировалось aQuestion; 03.01.2008 в 17:28.