【Android 应用开发】Paint 图形组合 Xfermod 简介 ( 图形组合集合描述 | Xfermod 简介 | PorterDuff 简介 )
生活随笔
收集整理的這篇文章主要介紹了
【Android 应用开发】Paint 图形组合 Xfermod 简介 ( 图形组合集合描述 | Xfermod 简介 | PorterDuff 简介 )
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 圖形組合 集合描述
- Xfermod 簡介
- PorterDuff 由來
- Xfermod 合成模式分類
圖形組合 集合描述
圖形組合 集合描述 :
-
1.下面我們先描述兩個集合 :
- ① 集合 A : 由像素點(diǎn)組成的集合 A , 每個像素點(diǎn)都有顏色值 和 位置 屬性 ; 像素點(diǎn)組成的圖形如下 :
- ② 集合 B : 由像素點(diǎn)組成的集合 B , 每個像素點(diǎn)都有顏色值 和 位置 屬性 ; 像素點(diǎn)組成的圖形如下 :
- ① 集合 A : 由像素點(diǎn)組成的集合 A , 每個像素點(diǎn)都有顏色值 和 位置 屬性 ; 像素點(diǎn)組成的圖形如下 :
-
2.繪制區(qū)域指定 :
- ① 并集 A∪BA \cup BA∪B 繪制 :
- ② 交集 A∩BA \cap BA∩B 繪制 :
- ③ 相對補(bǔ)集 A?BA - BA?B ( 屬于集合A 不屬于集合B ) 繪制 :
- ④ 相對補(bǔ)集 B?AB - AB?A ( 屬于集合B 不屬于集合A ) 繪制 :
- ① 并集 A∪BA \cup BA∪B 繪制 :
-
3.繪制像素點(diǎn)顏色指定 : 在確定了繪制區(qū)域后 , 然后再確定繪制區(qū)域內(nèi)的像素點(diǎn)顏色 :
- ① 交集重疊區(qū)域 繪制 集合 A 的像素點(diǎn)顏色 ;
- ② 交集重疊區(qū)域 繪制 集合 B 的像素點(diǎn)顏色 ;
- ③ 交集重疊區(qū)域 繪制 集合 A 與 集合 B 兩個像素點(diǎn)顏色經(jīng)過某種運(yùn)算之后的顏色 ;
- ④ 某區(qū)域 ( 集合 A 區(qū)域 , 集合 B 區(qū)域 , 交集區(qū)域 ?\cdots? 等等 ) 清空區(qū)域內(nèi)的像素點(diǎn)顏色 , 即透明 ;
- ① 交集重疊區(qū)域 繪制 集合 A 的像素點(diǎn)顏色 ;
-
4.圖形組合 ( Xfermod ) : Xfermod 中定義了繪制各種區(qū)域 和 每個像素點(diǎn)顏色的 方式和規(guī)范 :
- ① 指定繪制區(qū)域 : 像素點(diǎn)集合 A 與 B 的交集 , 并集 , 補(bǔ)集 ( 相對補(bǔ)集 ?-? | 絕對補(bǔ)集 ~\sim~ ) , 對稱差 等像素點(diǎn)集合區(qū)域 ;
- ② 指定繪制區(qū)域像素點(diǎn)的顏色 : 繪制的像素點(diǎn)顏色進(jìn)行計算 , 清空顏色 , 繪制集合A中的像素點(diǎn)顏色 , 繪制集合 B 中的像素點(diǎn)顏色 , 繪制兩個集合中對應(yīng)的像素點(diǎn)進(jìn)行某種計算后的顏色 ;
Xfermod 簡介
Xfermod 簡介 :
- 操作的載體 : 像素是要操作的元素 , 圖形組合 控制的是圖像指定 像素 的位置的顏色值 ;
- 操作過程 : 將要繪制的圖形的像素 ( 源圖像 Souurce ) 與 畫布上對應(yīng)位置的像素 ( 目標(biāo)圖像 Destination ) , 按照一定規(guī)則完成 兩個 圖像的組合 ;
- 常用的 Xfermod 類 : Xfermod 有三個子類分別是 :
- ① AvoidXfermode : 已過時 , 不支持硬件加速 , 不再研究 ;
- ② PixelXorXfermode : 已過時 , 不在研究 ;
- ③ PorterDuffXfermode : 該圖形組合模式是目前使用的主流方式 , 也是唯一方式 , 下面詳細(xì)講述該類型的圖形組合 ;
PorterDuff 由來
PorterDuff 由來 :
- 1.重要論文 : Thomas Porter ( 托馬斯 ?\cdot? 波特 ) 和 Tom Duff ( 湯姆 ?\cdot? 達(dá)夫 ) 在 1984年 發(fā)表的一篇具有重大意義的論文 , 其名稱是 “Compositing Digital Images” ( 組合數(shù)字圖像 ) ;
- 2.名稱由來 : PorterDuff 圖形組合模式 類名稱 , 是向其所做的工作致以敬意 ;
- 3.論文內(nèi)容 : 在這篇論文中 , 兩位作者描述了 12 種圖形合成運(yùn)算符 ,
- 4.合成運(yùn)算符作用 ( 控制顏色 ) : 源圖像 與 目標(biāo)圖像 進(jìn)行組合 , 其組合結(jié)果的對應(yīng)位置像素有對應(yīng)的顏色值 , 合成運(yùn)算符就是控制這個顏色值是多少 ;
- ① 目標(biāo)圖像 ( Destination ) : 渲染目標(biāo)的內(nèi)容 ( The content of the render target ) ;
- ② 源圖像 ( Source ) : 要渲染的圖形對象 ( The Graphics object to render ) ;
Xfermod 合成模式分類
Xfermod 合成模式分類 :
- 1.透明度合成模式 :
- ① 論文中定義 : Thomas Porter ( 托馬斯 ?\cdot? 波特 ) 和 Tom Duff ( 湯姆 ?\cdot? 達(dá)夫 ) 的工作 僅側(cè)重與 源 ( Source ) 和 目標(biāo) ( Destination ) 合成 結(jié)果 對透明度通道的影響 ;
- ② 原始論文中描述的 12 個合成操作符 , 被稱為 “Alpha Compositing modes” ( 透明度合成模式 ) ;
- 2.混合合成模式 :
- ① 不被 Alpha 通道約束 : 這些模式同樣定義了 源 和 目標(biāo) 的合成結(jié)果 , 但其結(jié)果不被 Alpha ( 透明度 ) 通道約束 ;
- ② 為了方便起見 , PorterDuff 類中還提供了其它幾種 Blending modes ( 混合合成模式 ) ;
這些混合合成模式不是 Thomas Porter ( 托馬斯 ?\cdot? 波特 ) 和 Tom Duff ( 湯姆 ?\cdot? 達(dá)夫 ) 提出的 , 但是為了方便起見 , 還是將 幾種 混合合成模式定義在了類中 ;
總結(jié)
以上是生活随笔為你收集整理的【Android 应用开发】Paint 图形组合 Xfermod 简介 ( 图形组合集合描述 | Xfermod 简介 | PorterDuff 简介 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android 应用开发】Paint
- 下一篇: android sina oauth2.