• <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

            久久人人超碰精品CAOPOREN| 无码国内精品久久人妻蜜桃| 国产亚州精品女人久久久久久 | 久久免费视频网站| 伊人色综合久久| 中文字幕精品久久久久人妻| 午夜天堂精品久久久久| 久久精品国产WWW456C0M| 久久夜色精品国产噜噜噜亚洲AV | 亚洲国产成人久久精品99| 国产偷久久久精品专区| 久久99精品免费一区二区| 伊人久久精品无码二区麻豆| 久久亚洲中文字幕精品一区| 丰满少妇人妻久久久久久| 中文成人久久久久影院免费观看| 久久99国产综合精品| 久久人人爽人人爽人人av东京热 | 亚洲人成精品久久久久| 国産精品久久久久久久| 国产精品久久久久久吹潮| 噜噜噜色噜噜噜久久| 色综合久久88色综合天天 | 青青青青久久精品国产h| 久久人人爽人人爽人人片AV不| 伊人色综合久久天天人守人婷 | 久久综合九色综合久99| 色噜噜狠狠先锋影音久久| 国产精品免费福利久久| 2020久久精品国产免费| 久久久老熟女一区二区三区| 亚洲综合日韩久久成人AV| 亚洲精品乱码久久久久久| 免费精品久久天干天干| 色播久久人人爽人人爽人人片AV| 色综合久久天天综线观看| 久久亚洲高清综合| 人妻无码精品久久亚瑟影视| 午夜久久久久久禁播电影| 久久久老熟女一区二区三区| 久久综合九色综合精品|