日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AGG第四课 局限性

發(fā)布時間:2025/6/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AGG第四课 局限性 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1前言

AGG渲染抗鋸齒圖像的邊界,似乎永遠是模糊邊界,經研究,是由于使用亞像素精度反走樣,邊界會有半個像素的模糊。導致多個圖像重疊的邊界出現(xiàn)顏色一樣的問題。正如,作者所言,不要以為采用AGG,就能夠解決一切的問題,正所謂道高一丈,魔高一尺。任何的設計都是折中的方案,對于問題,只能夠采取規(guī)避的方式解決。后續(xù)將會持續(xù)關注AGG的局限性。

2?重疊區(qū)域的邊界著色問題

1?代碼展示???

?void TestBlackBorden()

? {

???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_aa_solid<renderer_base_type>renderder_scanline_type;

???renderder_scanline_type rensl(renb);

?

???agg::rasterizer_scanline_aa<> ras;

???agg::scanline_u8 sl;

???ras.reset();

?

???ras.add_path(agg::ellipse(100,150,100,100));

???agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255,0,0));

???ras.add_path(agg::ellipse(200,100,100,100));

???agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(0,255,0));??

???ras.add_path(agg::ellipse(200,200,100,100));

???agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(0,0,255));??

? }

2?問題描述

三個實心圓形成三個環(huán),并且每個圓有重疊的部分,可以看到重疊的邊界出現(xiàn)了黑色的弧線。

按照正常的邏輯,邊界不是紅色,就是藍色,或者綠色。實際上出現(xiàn)了混合的顏色,抗鋸齒的效果采用混合顏色的方式,將底層的顏色和覆蓋的顏色進行了混合(alpha-blending,實際上就會顯示混合后的顏色。

?

如下是作者的描述:

I only flipped your p_w_picpath horizontally. Itshows how the colortriplets are

placed and explains this effect. But youare right, these"black borders"

will be seen on any device. To get rid ofthem you need to use gamma

correction. Seeexamples/gamma_correction.cpp.

?

按照作者的思路進行了gamma的設置,當然不排除設置的錯誤,沒有理解gamma_correction這個例子。

開發(fā)者回應:

For my display a gamma of 2.5 looks good. Ithink I will add someuser

defined gamma option to my application. Bytime i will have to delve

into this topic more deeply.


轉載于:https://blog.51cto.com/fengyuzaitu/1961152

總結

以上是生活随笔為你收集整理的AGG第四课 局限性的全部內容,希望文章能夠幫你解決所遇到的問題。

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