NX二次开发-使用MFC的CImage裁剪图片

592 篇文章 445 订阅 ¥299.90 ¥399.90
本文介绍如何在NX二次开发中,借助MFC的CImage类来实现图片裁剪功能,通过示例展示了从原始图片中裁剪特定区域并保存为新图片的过程。
摘要由CSDN通过智能技术生成

NX二次开发-使用MFC的CImage裁剪图片
示例:

这里有一张美女的照片,我现在想把她的大长腿从这张图片中裁剪出来,然后另存张新的图片。

这个与NX二次开发其实没有太大的关系,主要是用到了MFC里的CImage。

NX9+VS2012

#include <atlimage.h>


//裁剪图片
CString filepathname = "D:\\1\\1.jpg", filepathname1 = "D:\\1\\2.jpg";
int width = 0, height = 0;
CImage p_w_picpath, p_w_picpath1;
p_w_picpath.Load(filepathname); //加载图片 
width = p_w_picpath.GetWidth();
height = p_w_picpath.GetHeight();
p_w_picpath1.Create(500, 375, p_w_picpath.GetBPP()); // 创建一个目标存储对象,500和375是图片的像素大小
p_w_picpath.BitBlt(p_w_picpath1.GetDC(), 0, 0, 500, 375, 0, 375, SRCCOPY);  //COPY原图的一半到目标对象里,500和375是图片的像素大小,0和375是裁剪的位置

p_w_picpath1.Save(filepathname1);  // 保存处理后的图片
p_w_picpath1.ReleaseDC();   // 释放资源
p_w_picpath1.Destroy();  // 销毁资源

Caesar卢尚宇
2020年11月21日

在这里插入图片描述

MFC (Microsoft Foundation Class) 是一组用于开发 Windows 应用程序的 C++ 类库。CImageMFC中用于处理图像的类之一。要实现图像的缩放功能,可以使用CImage类的Resize方法。 首先,我们需要加载一个图像文件到CImage对象中。可以使用CImage类的Load方法来完成这一步骤。例如,可以使用下面的代码加载一个名为"image.bmp"的图像文件: CImage image; image.Load(_T("image.bmp")); 接下来,我们需要创建一个新的CImage对象,用来存储缩放后的图像。可以使用CImage类的Create方法来创建一个指定大小的图像对象。例如,可以使用下面的代码创建一个大小为200x200像素的新图像对象: CImage newImage; newImage.Create(200, 200, image.GetBPP()); 然后,我们可以使用CImage类的Resize方法将原始图像缩放到指定大小。可以将原始图像对象和新图像对象作为参数传递给Resize方法。例如,可以使用下面的代码将原始图像缩放为200x200像素的尺寸: image.Resize(newImage.GetDC(), 0, 0, 200, 200, SRCCOPY); 最后,我们需要保存缩放后的图像。可以使用CImage类的Save方法将新图像保存为文件。例如,可以使用下面的代码将新图像保存为"resized_image.bmp": newImage.Save(_T("resized_image.bmp")); 综上所述,要使用MFC CImage实现图像的缩放功能,我们需要加载图像文件,创建新的图像对象,调用Resize方法进行缩放,最后保存缩放后的图像。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿飞2018

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值