開啟Nana C++ Library對PNG的支援

來源:互聯網
上載者:User

在0.2版的發布中,Nana提供了對PNG的支援,但是在預設狀態下,為了方便快捷地配置程式庫,Nana關閉了支援PNG的特性。

對PNG的支援,Nana C++ Library是使用的libpng(www.libpng.org)。因此,有兩個不同的策略來支援這一特性。

1,使用Nana庫附帶的libpng

2,使用作業系統中提供的libpng,這意味著我們需要自行地安裝libpng。

開啟對PNG的支援

開啟位於Nana包含目錄中的config.hpp標頭檔。我們可以找到一行類似這樣的注釋:

//#define NANA_ENABLE_PNG

通過撤消這個注釋來開啟對PNG的支援。現在,代碼看起來就像這樣:

#define NANA_ENABLE_PNG 1#if defined(NANA_ENABLE_PNG)    //Comment it for using the libpng from operating system.    #define NANA_LIBPNG 1#endif

保留#define NANA_LIBPNG,則使用Nana庫附帶的libpng。注釋這句就是用作業系統中提供的libpng。

預設情況下,Win32包的Nana庫是使用附帶的libpng,而Linux(X11)包則使用作業系統提供的。

配置完成之後,重新編譯Nana庫,然後來建立一個程式來顯示一個PNG圖片。

#include <nana/gui/wvl.hpp>#include <nana/gui/widgets/picture.hpp>#include <nana/gui/layout.hpp>int main(){    using namespace nana::gui;    form fm;    picture pic(fm);    gird    gd(fm);    gd.push(pic, 0, 0);    pic.load(STR(“a_png_file.png”));    fm.show();    exec();}

在Windows上,連結位於“%nana%/extrlib” 檔案夾中的libpng。

libpng.a: For Dev-C++ and Code::Blocks
libpng.md.lib/libpng.md.x64.lib: For VC and Multi-threaded DLL runtime library.
libpng.mt.lib/libpng.mt.x64.lib: For VC and Multi-threaded runtime library.

在Linux(X11)上,修改你的makefile,為編譯器添加一條"-lpng"

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.