學習二 CxImage類庫的簡介

2021-09-30 03:22:12 字數 4552 閱讀 6961

在向大家介紹cximage類庫之前,先向大家推薦乙個優秀的站點: 這個站點有很多值得收藏的文章和原始碼。本文就是根據此站點相關資訊寫成。

乙個cximage物件是乙個擴充套件了的點陣圖。作者只是在位圖結構上新增了一些起儲存資訊作用的成員變數。乙個cximage物件(同時)也是一組層。每個層只有在需要時才會分配相應的緩衝區。cximage::pdib代表著背景影象,cximage::palpha代表著透明層,cximage::pselection代表著被選中的層,被用來建立影象處理時讓使用者感興趣的區域。在這三個特殊層面的基礎上,你可以增加一些額外的層,這些層可以儲存在cximage::players中。一般說來,層是乙個完整的cximage物件。因此,你可以構造很複雜的巢狀層。下面是cximage的一些成員變數:

class cximage

typedef struct tagcximageinfo cximageinfo;

要在picture box中顯示乙個png格式的檔案,只需:

cximage image("myfile.png", cximage_format_png);

hbitmap m_bitmap = image.makebitmap(m_picture.getdc()->m_hdc);

m_picture.setbitmap(m_bitmap);

其它格式則類推。

需要大家注意的是:整個cximage類庫非常大。如果你只需要能處理其中的幾種格式,你可以在主要的標頭檔案ximage.h中找到一些開關選項來關閉一些影象庫。jpg、png、tiff中的每乙個庫,都會向最終程式增加約100kb的內容。而cximage類庫壓縮後只有約60kb。所以,你需要謹慎挑選一些你真正需要的類庫。作者提供的示例工程在編譯後,你會發現如下一些檔案: ·cximage : cximage.lib - static library ·cximagecrtdll : cximagecrt.dll - dll not using mfc ·cximagemfcdll : cximage.dll - dll using mfc ·demo : demo.exe - program linked with cximage.lib and the c libraries ·demodll : demodll.exe - program linked with cximagecrt.dll ·j2k,jasper,jbig,jpeg,png,tiff,zlib : static c libraries 構建這些工程需要耗費幾分鐘的時間(中間檔案可達60mb)。下面則是使用cximage類庫前必須設定的一些引數:

project settings

|- c/c++

| |- code generation

| | |- use run-time library : multithreaded dll (must be the same for

| | | all the linked libraries)

| | |- struct member alignment : must be the same for all the linked

| | | libraries

| |- precompiled headers : not using precompiled headers

| |- preprocessor

| |- additional include directories: ../cximage

|- link

|- general

|- object/library modules: ../png/debug/png.lib

../jpeg/debug/jpeg.lib

../zlib/debug/zlib.lib

../tiff/debug/tiff.lib

../cximage/debug/cximage.lib ...

作者blog:

CxImage類庫的簡介

在向大家介紹cximage類庫之前,先向大家推薦乙個優秀的站點 http codeproject.這個站點有很多值得收藏的文章和原始碼。本文就是根據此站點相關資訊寫成。乙個cximage物件是乙個擴充套件了的點陣圖。作者只是在位圖結構上新增了一些起儲存資訊作用的成員變數。乙個cximage物件 同時...

介紹CxImage類庫

在向大家介紹cximage類庫之前,先向大家推薦乙個優秀的站點 這個站點有很多值得收藏的文章和原始碼。本文就是根據此站點相關資訊寫成。乙個cximage物件是乙個擴充套件了的點陣圖。作者只是在位圖結構上新增了一些起儲存資訊作用的成員變數。乙個cximage物件 同時 也是一組層。每個層只有在需要時才...

介紹CxImage類庫

在向大家介紹cximage類庫之前,先向大家推薦乙個優秀的站點 這個站點有很多值得收藏的文章和原始碼。本文就是根據此站點相關資訊寫成。乙個cximage物件是乙個擴充套件了的點陣圖。作者只是在位圖結構上新增了一些起儲存資訊作用的成員變數。乙個cximage物件 同時 也是一組層。每個層只有在需要時才...