2015年8月12日
摘要: 卷積(convolution)是泛函分析里的一個概念,不過泛函分析一般都是數學系才學的,計算機系的學生大多在概率統計課本里了解到。它分為兩種形式,一個是離散形式,一個是連續(積分)形式。在圖像處理中我們更關心離散卷積,不過也先看看積分形式的卷積?,F在假設我們有兩個函數f(x)和g(x),這里g(x)又叫做平滑函數或者卷積核,那么它們在連續空間的卷積是
閱讀全文
2015年1月2日
2014年8月16日
摘要: 這是本文作者所寫的一個小小的Vim插件,小到都不必為它新開一個Github項目。如果曾經玩過金山打字的朋友肯定對這個不陌生,無非兩行,上行對照,下行打字。這個Vim腳本模擬了這個方式,也因此它即使名為Game,其實挺無趣的囧rz=3
閱讀全文
2013年10月28日
摘要: 我在解決亂碼上面實際走了不少彎路,做了很多實驗,查了很多資料。在這里做下筆記,希望后來者可以明白,少走些彎路。
閱讀全文
2012年8月1日
摘要: 先看on_draw函數:我們先定義了兩個頂點源,一個是橢圓,另一個是自制的三角形;先把rasterizer重置,清除上次重繪留下的光柵信息;我們再在光柵中添加這兩個頂點源,用渲染器渲染,就是了……
閱讀全文
2012年7月24日
摘要: 頂點源(Vertex Source)不是一個類,而是一種類的模式。這個類里面有rewind()函數和vertex()函數給AGG內部調用。類如其名,頂點源就是為繪圖系統提供頂點信息的……
閱讀全文
摘要: 可能有的人會覺得奇怪的是,為什么在畫線函數中,不用pix_fmt.copy_pixel()而用ren_bas.copy_pixel()呢?因為,在pix_fmt中,混合器不進行檢查,像素拷貝的時候會拷貝到剪裁區域以外,這樣會造成很奇怪的情況,以至于如果寫到了緩存以外,還會出現異常。注意,剪裁盒功能是基礎渲染器級別才提供的,更加底層的操作,比如像素格式混合和直接操作緩存,高層次的渲染器是無從管理的。為了安全起見,建議少碰基礎渲染器以下的工具……
閱讀全文
摘要: 基礎渲染器(Base Renderer)是掃描線渲染器的基礎,可以說,正常情況下,你繪畫任何圖形、做任何事,都需要通過它。而基礎渲染器需要你以模版的形式提供像素格式的信息,他將會通過像素格式混合器來實現渲染。其實,基礎渲染器比像素格式混合器多了剪裁盒的功能,其他混合、拷貝什么的和像素格式混合器是相似的,這里就不列出來了。
閱讀全文
摘要: 渲染緩存保存著一個個像素,作為AGG的畫布。它僅僅是一個內存塊,用來儲存像素信息,不提供任何繪圖功能,只允許你讀取和修改里面的數據。它也不告訴你里面的像素是灰度的、RGB的還是RGBA的,不告訴你從哪里到哪里是一個像素——它只是用來管理內存數據的。
閱讀全文
摘要: AGG分有多種渲染器。在AGG中,渲染器負責表現掃描線中的每個線段。在渲染器之前,AGG圖形中的線段是沒有顏色值的,只是位置、長度和 覆蓋率(透明度)。渲染器賦于線段色彩,最終成為一幅完整的圖像。
閱讀全文