91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

AGG第二十八課 rasterizer的填充規則

發布時間:2020-07-14 22:32:47 來源:網絡 閱讀:459 作者:fengyuzaitu 欄目:系統運維

  AGG提供了很多額外的接口給SVG調用,因此很多的初學者像我,需要先學習SVG,然后了解接口的意義,才能夠真正的掌握該接口,例如miter_join的含義。

1知識儲備

       字面上理解就是填充的規則,不就是圖形的填充嗎?哪有什么規則可言。對于單一的圖形沒有問題,如果是渲染圓環,兩個環之間的區域填充顏色,該怎么辦?這個時候就需要指定一種規則,一種填充的規則。

       AGG提供了兩種算法來判斷該點是否在填充區域內,如果該點在填充區域,然后填充該點。對于一個簡單的無交叉的路徑,是非常容易判斷的。但是,對于一個復雜的路徑,比如自交或者一個路徑包裹著另一個子路徑,內部就不是那么好理解了。

nonzero

字面意思是“非零”。按該規則,要判斷一個點是否在圖形內,從該點作任意方向的一條射線,然后檢測射線與圖形路徑的交點情況。從0開始計數,路徑從左向右穿過射線則計數加1,從右向左穿過射線則計數減1。得出計數結果后,如果結果是0,則認為點在圖形外部,否則認為在內部。

evenodd

字面意思是“奇偶”。按該規則,要判斷一個點是否在圖形內,從該點作任意方向的一條射線,然后檢測射線與圖形路徑的交點的數量。如果結果是奇數則認為點在內部,是偶數則認為點在外部。

摘自:http://blog.csdn.net/cuixiping/article/details/7848369

簡單的實例代碼

 void TestRasFillRule()

  {

   agg::rendering_buffer &rbuf = rbuf_window();

   agg::pixfmt_bgr24 pixf(rbuf);

 

   typedef agg::renderer_base<agg::pixfmt_bgr24> renderer_base_type;

   renderer_base_type renb(pixf);

 

   typedef agg::renderer_scanline_bin_solid<renderer_base_type>renderder_scanline_type;

   renderder_scanline_type rensl(renb);

 

   agg::rasterizer_scanline_aa<> ras;

   agg::scanline_p8 sl;

   ras.reset();

 

   renb.clear(agg::rgba8(255,255,255));

 

   rensl.color(agg::rgba8(255,0,0));

 

   //agg::filling_rule_e rule = agg::fill_non_zero;

   agg::filling_rule_e rule = agg::fill_even_odd;

   ras.filling_rule(rule);

   ras.move_to_d(100,100);

   ras.line_to_d(200,100);

   ras.line_to_d(200,400);

   ras.line_to_d(100,400);

   ras.close_polygon();

   ras.move_to_d(150,250);

   ras.line_to_d(180,250);

   ras.line_to_d(180,350);

   ras.line_to_d(150,350);

   ras.close_polygon();

   agg::render_scanlines(ras, sl, rensl);

 

   return;

 

  }


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德安县| 宜章县| 旬邑县| 高邮市| 奉节县| 铅山县| 瑞安市| 涟水县| 平凉市| 铁岭县| 贵州省| 长治市| 武城县| 璧山县| 民和| 莱阳市| 喀喇沁旗| 浦城县| 崇明县| 六安市| 柘荣县| 河曲县| 和顺县| 尚义县| 清涧县| 正安县| 上虞市| 紫阳县| 招远市| 读书| 巫溪县| 鄂托克前旗| 响水县| 拜城县| 佛冈县| 绥滨县| 汉源县| 铁岭市| 始兴县| 阜康市| 松江区|