日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【Android 应用开发】Paint 图形组合 Xfermod 简介 ( 图形组合集合描述 | Xfermod 简介 | PorterDuff 简介 )

發布時間:2025/6/17 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android 应用开发】Paint 图形组合 Xfermod 简介 ( 图形组合集合描述 | Xfermod 简介 | PorterDuff 简介 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

        • 圖形組合 集合描述
        • Xfermod 簡介
        • PorterDuff 由來
        • Xfermod 合成模式分類



圖形組合 集合描述


圖形組合 集合描述 :

  • 1.下面我們先描述兩個集合 :

    • ① 集合 A : 由像素點組成的集合 A , 每個像素點都有顏色值 和 位置 屬性 ; 像素點組成的圖形如下 :
    • ② 集合 B : 由像素點組成的集合 B , 每個像素點都有顏色值 和 位置 屬性 ; 像素點組成的圖形如下 :
  • 2.繪制區域指定 :

    • ① 并集 A∪BA \cup BAB 繪制 :
    • ② 交集 A∩BA \cap BAB 繪制 :
    • ③ 相對補集 A?BA - BA?B ( 屬于集合A 不屬于集合B ) 繪制 :
    • ④ 相對補集 B?AB - AB?A ( 屬于集合B 不屬于集合A ) 繪制 :
  • 3.繪制像素點顏色指定 : 在確定了繪制區域后 , 然后再確定繪制區域內的像素點顏色 :

    • ① 交集重疊區域 繪制 集合 A 的像素點顏色 ;
    • ② 交集重疊區域 繪制 集合 B 的像素點顏色 ;
    • ③ 交集重疊區域 繪制 集合 A 與 集合 B 兩個像素點顏色經過某種運算之后的顏色 ;
    • ④ 某區域 ( 集合 A 區域 , 集合 B 區域 , 交集區域 ?\cdots? 等等 ) 清空區域內的像素點顏色 , 即透明 ;
  • 4.圖形組合 ( Xfermod ) : Xfermod 中定義了繪制各種區域 和 每個像素點顏色的 方式和規范 :

    • ① 指定繪制區域 : 像素點集合 A 與 B 的交集 , 并集 , 補集 ( 相對補集 ?-? | 絕對補集 ~\sim ) , 對稱差 等像素點集合區域 ;
    • ② 指定繪制區域像素點的顏色 : 繪制的像素點顏色進行計算 , 清空顏色 , 繪制集合A中的像素點顏色 , 繪制集合 B 中的像素點顏色 , 繪制兩個集合中對應的像素點進行某種計算后的顏色 ;



Xfermod 簡介


Xfermod 簡介 :

  • 操作的載體 : 像素是要操作的元素 , 圖形組合 控制的是圖像指定 像素 的位置的顏色值 ;
  • 操作過程 : 將要繪制的圖形的像素 ( 源圖像 Souurce ) 與 畫布上對應位置的像素 ( 目標圖像 Destination ) , 按照一定規則完成 兩個 圖像的組合 ;
  • 常用的 Xfermod 類 : Xfermod 有三個子類分別是 :
    • ① AvoidXfermode : 已過時 , 不支持硬件加速 , 不再研究 ;
    • ② PixelXorXfermode : 已過時 , 不在研究 ;
    • ③ PorterDuffXfermode : 該圖形組合模式是目前使用的主流方式 , 也是唯一方式 , 下面詳細講述該類型的圖形組合 ;



PorterDuff 由來


PorterDuff 由來 :

  • 1.重要論文 : Thomas Porter ( 托馬斯 ?\cdot? 波特 ) 和 Tom Duff ( 湯姆 ?\cdot? 達夫 ) 在 1984年 發表的一篇具有重大意義的論文 , 其名稱是 “Compositing Digital Images” ( 組合數字圖像 ) ;
  • 2.名稱由來 : PorterDuff 圖形組合模式 類名稱 , 是向其所做的工作致以敬意 ;
  • 3.論文內容 : 在這篇論文中 , 兩位作者描述了 12 種圖形合成運算符 ,
  • 4.合成運算符作用 ( 控制顏色 ) : 源圖像 與 目標圖像 進行組合 , 其組合結果的對應位置像素有對應的顏色值 , 合成運算符就是控制這個顏色值是多少 ;
    • ① 目標圖像 ( Destination ) : 渲染目標的內容 ( The content of the render target ) ;
    • ② 源圖像 ( Source ) : 要渲染的圖形對象 ( The Graphics object to render ) ;



Xfermod 合成模式分類


Xfermod 合成模式分類 :

  • 1.透明度合成模式 :
    • ① 論文中定義 : Thomas Porter ( 托馬斯 ?\cdot? 波特 ) 和 Tom Duff ( 湯姆 ?\cdot? 達夫 ) 的工作 僅側重與 源 ( Source ) 和 目標 ( Destination ) 合成 結果 對透明度通道的影響 ;
    • ② 原始論文中描述的 12 個合成操作符 , 被稱為 “Alpha Compositing modes” ( 透明度合成模式 ) ;
  • 2.混合合成模式 :
    • ① 不被 Alpha 通道約束 : 這些模式同樣定義了 源 和 目標 的合成結果 , 但其結果不被 Alpha ( 透明度 ) 通道約束 ;
    • ② 為了方便起見 , PorterDuff 類中還提供了其它幾種 Blending modes ( 混合合成模式 ) ;

這些混合合成模式不是 Thomas Porter ( 托馬斯 ?\cdot? 波特 ) 和 Tom Duff ( 湯姆 ?\cdot? 達夫 ) 提出的 , 但是為了方便起見 , 還是將 幾種 混合合成模式定義在了類中 ;


總結

以上是生活随笔為你收集整理的【Android 应用开发】Paint 图形组合 Xfermod 简介 ( 图形组合集合描述 | Xfermod 简介 | PorterDuff 简介 )的全部內容,希望文章能夠幫你解決所遇到的問題。

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