AGG第八課MFC工程中應(yīng)用AGG

前言

創(chuàng)新互聯(lián)網(wǎng)站建設(shè)服務(wù)商,為中小企業(yè)提供網(wǎng)站建設(shè)、做網(wǎng)站服務(wù),網(wǎng)站設(shè)計(jì),網(wǎng)站托管運(yùn)營(yíng)等一站式綜合服務(wù)型公司,專業(yè)打造企業(yè)形象網(wǎng)站,讓您在眾多競(jìng)爭(zhēng)對(duì)手中脫穎而出創(chuàng)新互聯(lián)。

        除了pure_api例子外,其他的都是基于agg::platform_support之上進(jìn)行開發(fā)的。這些例子通過調(diào)用agg::platform_support,隱藏了如何創(chuàng)建渲染緩存buffer以及關(guān)聯(lián)agg::rendering_buffer的細(xì)節(jié)。一句話,通過繼承agg::platform_support,就可以直接調(diào)用rbuf_window(),獲取渲染的緩存。而pure_api是一個(gè)最原始的程序,通過調(diào)用系統(tǒng)API函數(shù),構(gòu)建一個(gè)最完整詳細(xì)的例子程序,而這些所做的事情,已經(jīng)全部封裝到agg::platform_support里面。在wx章節(jié)中,有詳細(xì)介紹如何應(yīng)用AGG進(jìn)行渲染。


要求

        本意是希望獲取當(dāng)前位圖的渲染緩存,然后傳遞給agg::rendering_bufer,然后開始進(jìn)行AGG的渲染。


結(jié)果

         查詢了很多資料,還是只能夠創(chuàng)建兼容DC,然后創(chuàng)建兼容位圖,然后選入位圖,獲取渲染緩存,繪制之后,貼圖到當(dāng)前的兼容DC上

                HDC mem_dc = ::CreateCompatibleDC(hdc); //創(chuàng)建兼容DC


                void* buf = 0; 


                HBITMAP bmp = ::CreateDIBSection( //創(chuàng)建兼容位圖,獲取緩存

                    mem_dc, 

                    &bmp_info, 

                    DIB_RGB_COLORS, 

                    &buf, 

                    0, 

                    0 

                ); 


                // Selecting the object before doing anything allows you 

                // to use AGG together with native Windows GDI.

                HBITMAP temp = (HBITMAP)::SelectObject(mem_dc, bmp);

     //貼圖到當(dāng)前DC上,減去100,是不希望覆蓋右邊的一小塊區(qū)域

                ::BitBlt(

                  hdc,  

                  rt.left,      

                  rt.top,      

                  width - 100,  

                  height, 

                  mem_dc,

                  0,

                  0,     

                  SRCCOPY

                );

 

總結(jié)

        詳細(xì)的流程請(qǐng)參考源碼目錄下的examples提供了完整的測(cè)試用例 

新聞名稱:AGG第八課MFC工程中應(yīng)用AGG
文章網(wǎng)址:http://bm7419.com/article44/jddjee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、微信公眾號(hào)、服務(wù)器托管、企業(yè)網(wǎng)站制作面包屑導(dǎo)航、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)