Показать сообщение отдельно
Старый 27.12.2006, 01:48   #9
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Прозрачность

попробуй так, хотя сам исчо не тестил.
Function LoadAlphaTexture(tex$,alph$,flags=3)
tex=LoadTexture(tex$,flags)
img=LoadImage(alph$)
abuff=ImageBuffer(img)
w=ImageWidth(img)
h=ImageHeight(img)
buff=TextureBuffer(tex)
LockBuffer buff
LockBuffer abuff
For i=1 To w
For j=1 To h
c=($00FFFFFF And ReadPixelFast(i,j,buff)) Or ((ReadPixelFast(i,j,abuff) And $00FF0000) Shl 8)
WritePixelFast i,j,c,buff
Next
Next
UnlockBuffer abuff
UnlockBuffer buff
End Function
альфа берется по красной составляющей воторой тексы (второго параметра функции)
понятно что флаг должен быть вида 2+a, где a - целое число от 0 до 510.
(Offline)
 
Ответить с цитированием