• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Cairo學習筆記

            Posted on 2008-11-23 20:18 Hill 閱讀(1108) 評論(0)  編輯 收藏 引用

            Cairo是一個支持多種輸出設備的2D圖形庫。當前支持的輸出目標(output target)包括:X Window System,Quartz,Win32,image buffers,PostScript,PDF,還有 SVG。

            下面研究一下Cairo的繪圖模型,首先是該模型中最重要的三個概念:這三個概念對應于下圖中的三層從上到下分別為:source,mask,destination。簡單的思想就是Source會通過Mask的過濾從而畫在我們的輸出設備(destination)上。

            source是用來繪圖的繪圖板,或者筆,墨水,繪圖的時候可以用來畫線,填充。Source可以有以下四種:Colors,Gradients,Patterns和Images。

            image imageimage

            最下面的destination,是一種surface,是要輸出的設備,可以是窗口,或者一個PDF,SVG等等。因此我們要做的是使用“動詞”構造一個合適的Mask。

            Mask被用作一個過濾器。Mask用來決定Source的哪些部分可以應用到destination上,哪些不可以用到destination上。

            所有的這三層會對應于一個Context。Context里面包含所有圖形的狀態數據(比如:線的寬度,顏色,surface to draw,還有其它,這就允許繪圖函數使用少量的參數來繪圖)。Mask層上不透明的部分可以應用到destination上,透明的地方剛不會。

            這些“動詞”包括:Stroke和Fill。Stroke允許path附近的source通過mask。而fill允許path內部的元素通過mask。(The stroke operation draws the outlines of shapes and the fill operation fills the insides of shapes.)另外的動詞還包括Paint,Mask和ShowText等。

             

            更多請參考這里:http://www.cairographics.org/tutorial/

            posts - 4, comments - 10, trackbacks - 0, articles - 0

            Copyright © Hill

            人妻少妇久久中文字幕| 久久亚洲高清综合| 日韩人妻无码一区二区三区久久| 国产精品久久成人影院| 久久久久国产一级毛片高清版| 久久久久国产| 99久久国产亚洲综合精品| 97精品依人久久久大香线蕉97| 精品乱码久久久久久久| 久久婷婷综合中文字幕| 中文字幕久久精品| 一级做a爰片久久毛片16| 午夜精品久久久久久中宇| 久久九色综合九色99伊人| 亚洲精品乱码久久久久久中文字幕 | 俺来也俺去啦久久综合网| 久久国产精品波多野结衣AV| 伊人久久大香线蕉亚洲五月天| 久久精品亚洲精品国产色婷| 久久久久无码精品国产app| 久久久91精品国产一区二区三区| 精品久久久久久国产| 国产精品亚洲综合专区片高清久久久 | 亚洲欧美日韩精品久久亚洲区 | 久久狠狠高潮亚洲精品| 亚洲精品综合久久| 国产欧美一区二区久久| 久久综合久久自在自线精品自| 欧美日韩精品久久久久| 99久久国产热无码精品免费 | 色播久久人人爽人人爽人人片aV| 久久99精品国产| 久久棈精品久久久久久噜噜| 中文国产成人精品久久不卡| 狠狠色婷婷久久综合频道日韩| 99久久人人爽亚洲精品美女| 日本精品久久久久中文字幕| 色综合久久天天综合| 久久成人精品| 日韩中文久久| 99久久99久久精品国产片果冻 |