• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            孔雀開發(fā)小屋

            專注并致力于手機客戶端開發(fā)
            <2011年6月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

            統(tǒng)計

            • 隨筆 - 103
            • 文章 - 0
            • 評論 - 251
            • 引用 - 0

            常用鏈接

            留言簿(38)

            隨筆分類

            隨筆檔案

            關(guān)注的博客

            朋友的博客

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            CxImage入門

            CxImage是什么

            CxImage是C++實現(xiàn)的功能強大的、能處理多種文件格式的圖像管理類。它能夠簡單快速的實現(xiàn)圖像的導(dǎo)入、保存、顯示和變換。

            為什么使用CxImage

            u 它是平臺無關(guān)的

            u 它是自由軟件、免費的、開源的

            u 支持多種平面格式:BMP、GIF、ICO、TGA、JPEG、PCX、PNG、TIFF、MNG、RAS等,還有更多!

            u 功能強大:幾何變換、圖像處理、圖像格式轉(zhuǎn)換等。

            u 使用簡單:下面的入門教程會給你展示這一點。

            CxImage的功能

            Constructors 構(gòu)造函數(shù)

            Initialization 初始化

            File 文件操作,主要是編解碼

            Generic 圖像基本變化

            DSP 圖像處理操作

            Painting 繪圖操作

            Multiple Images 多幀圖像操作

            Transparency 透明層操作

            Palette 調(diào)色板操作

            Pixels 像素操作

            Region Selection 區(qū)域選擇操作

            Alpha Channel Alpha通道操作

            Layers 圖像層操作

            Attributes 圖像屬性操作

            Miscellaneous 雜項

            呵呵,夠強大吧!一個類庫再好,不能為我們所用,則一切都是空談,怎么用,請看詳細步驟:

            CxImage使用入門

            1. 去 這里:http://www.codeproject.com/KB/graphics/cximage.aspx,下載CxImage的源代碼。在 codeproject沒有賬戶的兄弟姐妹需要先注冊一個哦,非常簡單,幾秒鐘就可以了!該頁面上有兩個可以下載的東東,一個是CxImage的源代碼, 另一個是用CxImage類庫開發(fā)的一個完整的Demo,你可以看一下這個Demo,就知道它的功能有多強大了!

            2. 編譯CxImage。解壓源碼包,在解壓后的目錄下有一個CxImageLib.dsw工作空間文件,使用VC++ 6.0 打開該工作空間文件。做以下事情:

            Project->Settings->C/C++, 在Category下拉列表中選擇Code Generation,將Use rum-time libary中選擇MultiThread DLL.在 Category下拉列表中選擇 Precompiled Headers中,選擇第一 項: Not using Precompiled headers.

            Build->Batch Build->勾選你要編譯的版本庫。默認情況下是每個庫都有四個版本,分別是Debug、Release、Unicode Debug、Unicode Release.選擇你想要編譯的版本即可。

            等待幾分鐘,即可編譯好。

            新建立一個文件夾,如mycximage。在該文件夾下新建一個header文件夾和一個lib文件夾。將CxImage下的所有頭文件都拷貝到header文件夾下,將剛才所有生成的lib文件拷貝到lib文件夾下。至此,你已經(jīng)擁有了CxImage類庫。

            打開VC++6.0,新建立一個基于對話框的MFC應(yīng)用程序,叫Test。我們來完成一個將BMP位圖轉(zhuǎn)換成JPEG格式的小程序。在對話框上畫一個按鈕,雙擊按鈕,響應(yīng)事件函數(shù)。

            將剛才我們建立好的mycximage文件夾拷貝到你的工程目錄下。在TestDlg.cpp文件頂部,加入以下代碼:

            #include ”mycximage/header/ximage.h”

            #pragma comment(lib, ”mycximage/lib/png.lib”)

            #pragma comment(lib, ”mycximage/lib/libdcr.lib”)

            #pragma comment(lib, ”mycximage/lib/jpeg.lib”)

            #pragma comment(lib, ”mycximage/lib/zlib.lib”)

            #pragma comment(lib, ”mycximage/lib/tiff.lib”)

            #pragma comment(lib, ”mycximage/lib/jasper.lib”)

            #pragma comment(lib, ”mycximage/lib/cximage.lib”)

            #pragma comment(lib, ”mycximage/lib/mng.lib”)

            在你的事件響應(yīng)函數(shù)中添加一下代碼:

            CxImage image;

            CString strFileName; // 圖像文件名

            CFileDialog dlg( TRUE, ”BMP”, NULL, OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY, ”所有圖像文件(*.*)|*.*|BMP圖像文件(*.BMP)|*.BMP|JPG格式圖像(*.JPG)|*.JPG||”);

            dlg.DoModal();

            // 獲取文件名

            strFileName = dlg.GetFileName();

            // 判斷文件名是否為空

            if (strFileName.GetLength() == 0)

            {

            return;

            }

            // 加載BMP位圖

            image.Load( strFileName.GetBuffer( strFileName.GetLength()), CXIMAGE_FORMAT_BMP );

            // 判斷圖像是否有效

            if (image.IsValid())

            {

            // 判斷圖像顏色數(shù)

            if (!image.IsGrayScale())

            image.IncreaseBpp( 24 );

            // 設(shè)置Jpeg圖像的質(zhì)量

            image.SetJpegQuality( 80 );

            // 將位圖轉(zhuǎn)換成JPEG格式圖像

            image.Save(”export.jpg”,CXIMAGE_FORMAT_JPG);

            }

            呵呵,看看效果吧!你已經(jīng)完成了將指定位圖轉(zhuǎn)換成JPEG格式的功能!就是這么簡單!

            后記

            如果各位XDJM按照我的步驟一步一步來,應(yīng)該是肯定可以成功的!

            本文中所述的是在VC++ 6.0中完成。而對于編譯好的庫,在VS2005中也是可以直接用的。如果上述同樣的代碼在VS2005中編譯不能通過,你需要在工程屬性中將字符集設(shè)置為Not Set,編譯即可通過!

            posted on 2009-12-31 23:15 孔雀 閱讀(1631) 評論(1)  編輯 收藏 引用

            評論

            # re: CxImage入門 2010-01-13 16:29 welld_djj

            的確是作完了但是會報一個錯
              回復(fù)  更多評論    

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久久久久狠狠丁香| 久久996热精品xxxx| 少妇被又大又粗又爽毛片久久黑人 | 久久久亚洲欧洲日产国码是AV| 99久久亚洲综合精品成人| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 国内精品伊人久久久久网站| 国产精品成人99久久久久91gav| 一日本道伊人久久综合影| 日韩精品久久久肉伦网站| 99久久精品国产一区二区三区| 久久人人青草97香蕉| 91麻豆精品国产91久久久久久| 一本色道久久88综合日韩精品| 老司机国内精品久久久久| 日韩人妻无码精品久久免费一| 久久精品无码av| 97久久精品人人做人人爽| 久久久久久a亚洲欧洲aⅴ| 久久99国产综合精品女同| 无码伊人66久久大杳蕉网站谷歌 | 欧美成a人片免费看久久| 久久本道综合久久伊人| 精品99久久aaa一级毛片| 四虎国产永久免费久久| 久久综合九色综合久99| 国产精品青草久久久久福利99| 国产精品久久久天天影视| 亚洲国产成人久久精品动漫| 亚洲精品NV久久久久久久久久 | 久久影院午夜理论片无码| 久久经典免费视频| 久久精品九九亚洲精品| 久久无码中文字幕东京热| 久久er国产精品免费观看2| 色婷婷久久综合中文久久蜜桃av| 国产精品成人精品久久久 | 精品水蜜桃久久久久久久| 久久av高潮av无码av喷吹| 亚洲色欲久久久综合网东京热 | 无码8090精品久久一区|