DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 542 评论 :: 1615万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

基本定义:CxImage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。

下载地址:http://www.codeproject.com/KB/graphics/cximage.aspx

配置环境:


1、拷贝CxImage到项目目录

a、编译CxImage

b、cximage600_full\CxImage:所有的头文件和源文件

c、查找所有的lib

 

2、添加头文件目录

CxImage\Include

3、添加库文件目录

CxImage\lib

3、添加链接
cximage.lib
demod.lib
j2k.lib
jasper.lib
jbig.lib
jpeg.lib
png.lib
tiff.lib
zlib.lib


4、程序中添加头文件

#include "ximage.h"

 

基本用法

打开:

[cpp] view plain copy
 
  1. CxImage image;   
  2. if(image.load("name",类型))   
  3. {   
  4.     CDC *pDC = GetDC();   
  5.     image.Draw(pDC->GetSafeHDC(),CRect rect(0,0,100,100));   
  6.     pDC->DeleteDC;   
  7. }  

旋转:

[cpp] view plain copy
 
  1. CxImage smallImage;//旋转后的图片   
  2. image.Rotate(90,&smallImage);//旋转90,并且保存到smallImage中   
  3. smallImage.Save(保存的名字,类型);   


 

镜像:

[cpp] view plain copy
 
  1. CxImage ImgTmp = image;   
  2. if(ImgTmp.Mirror())   
  3. {   
  4. image.Draw(.... , .....);   
  5. }  

 

 

缩放:

[cpp] view plain copy
 
  1. <div class="container"><div class="line number1 index0 alt2"><code class="cpp plain">CxImage samllImg; </code></div><div class="line number2 index1 alt1"><code class="cpp spaces"></code></div><div class="line number3 index2 alt2"><code class="cpp plain">image.Resample(新宽度,新高度,0,&smallImg); </code></div><div class="line number4 index3 alt1"><code class="cpp spaces"></code></div><div class="line number5 index4 alt2"><code class="cpp plain">smallImg.Save(</code><code class="cpp string">"自定第一大小.jpg"</code><code class="cpp plain">,CXIMAGE_SUPPORT_JPG);</code></div></div>  


 

剪辑:

[cpp] view plain copy
 
  1. CDC *pDC=GetDC();   
  2. UpdateData();   
  3. CxImage smallImg;   
  4. tempimage.Crop(CRect(m_xTop,m_yTop,m_xWidth,m_yHeiht),&smallImg);   
  5. smallImg.Save("剪辑图片.jpg",CXIMAGE_SUPPORT_JPG);   
  6. smallImg.Draw(pDC->GetSafeHdc(),CRect(40,70,picwidth,picheight));   
  7. pDC->DeleteDC();   


 

混合:

[cpp] view plain copy
 
  1. CDC *pDC=GetDC();   
  2. CxImage smallImg;   
  3. smallImg.Load("混合源文件.jpg",CXIMAGE_SUPPORT_JPG);   
  4. tempimage.Mix(smallImg,CxImage::OpAvg,0,0,true);   
  5. tempimage.Save("Mix混合.jpg",CXIMAGE_SUPPORT_JPG);   
  6. tempimage.Draw(pDC->GetSafeHdc(),CRect(40,70,picwidth,picheight));   


http://blog.csdn.net/whucv/article/details/7689397

posted on   DoubleLi  阅读(5059)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示