日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

透明像素-Premultiplied Alpha的秘密

發布時間:2024/5/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 透明像素-Premultiplied Alpha的秘密 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Premultiplied Alpha的秘密

我得承認題目有點標題黨的意思,自從Flash播放器采用了BitmapData以來,Flash采用一種叫做Premultipled Alpha的技術來存儲透明的像素。但是它還是有點...為了避免你覺得我啰里巴索你可以直接去檢查示例程序,? check out the demo right away ?如果沒看懂,呵呵......

"Premultiplied" alpha技術意味著不僅像素的Alpha信息存儲在通道里,而且已經擴張到紅,藍,綠通道里,在實際應用中這意味著如果你保存著 #fff8000橙色,而將其透明度設置為50%,那么實際設置保存的是#80803f00.這意味著顏色通道中的任意像素值都不會比Alpha通道中的值來的大

這樣做的原因是出于性能的考慮,圖像處理算法在復合兩張圖片的時候總是需要將ALPHA通道的信息復合到各個顏色通道,因此如果你需要處理很多的圖像復合時候,這樣的做法就節省了很多的時間,而不需要對每個像素重新進行復合,正如我們所知道的Flash的日常處理中有很多時候都在處理復合,比如重合兩張反鋸齒的直線時就會有復合,有了這樣的處理之后Flash的速度就很快了。

但是也有一個問題,像素是以32位的整數值存儲的,也就是說每個通道有8位或者256種可能的值,另一方面像素的計算通常是以浮點數學的方式進行的,也就是說可能的值要遠大的多,如果通常以浮點處理那很好,但是有些情況下你不得不將浮點的值回寫到像素信息,也就是說比如43.7回寫的時候就會圓整為44或者更糟的43回寫到像素值里面

通常情況下這種小的誤差不會對應用造成很大的麻煩,但是一旦你開始處理小的像素值,那么錯誤就會被基類放大,,例如如果你將一個像素的ALPHA值設置為16那么每一個像素都會被乘上一個因子16/256=0.0625,因此灰色像素就會變成128*0.0625=8 暗像素64就會變成4,但是稍微亮一點的像素如67也會變成4,注意沒有小數這是圓整后的結果,你會發現顏色種類減少了,從原來的256×256×256減少到8*8*8,嚴重的問題

如果你將ALPHA值保持設置為8那么不會有太大的問題,如果你增大ALPHA值,那么災難就出現了,大量的顏色信息由于進度原因會丟失,而且無法修復。

為了解釋清楚到底是怎么回事我設置了一個Demo?demo that visualizes the amount of information loss來解釋。它先將圖像的Alpha通道設置為一個選定值,然后再設置回255,你所觀察到的現象正好說明了,當Alpha值很小的時候會有些海報斑駁效果,即使你將像素設置為254,你也會發現顏色丟失的現象(復選 觀察數據丟失復選框)該復選框會對比顏色丟失和未丟失的情況,由于有的時候丟失不是很明顯,DEMO將該丟失放大了以增強了對比度


那要怎樣才能保存顏色信息呢,你只有慢慢來,效率和質量不可兼得么,將Alpha信息和像素分開存儲,也就是說你維護著三張Bitmap一張存儲顏色信息,一張存儲Alpha值,第三章存儲兩者復合后的結果。


alpha預乘,與通常顏色表示方法(r,g,b,a)的差別在與它表示為(ar,ag,ab,a)。為什么要這么做呢?因為在顏色混合時,預乘的效果比分開表示更好。比如(1,1,1,1)與(0,0,0,0)混合后,(0.5,0.5,0.5,0.5)在分開表示方法時,這表示一個灰色。而預乘表示一個半透的白色。 而分開表示方法到預乘的轉換,首先是紋理的顏色值進行轉換(r,g,b,a)->(ar,ag,ab,a);再次是混合因子的轉換(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)->(GL_ONE, GL_ONE_MINUS_SRC_ALPHA)

總結

以上是生活随笔為你收集整理的透明像素-Premultiplied Alpha的秘密的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。