Cximage 切图部分代码mark

这篇博客主要记录了使用Cximage库进行图像切割的操作代码,方便日后查阅。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

void X::LoadImage( CString fileName )//读图
{
	bool xResult;
	x_Image.Destroy();
	xResult = x_Image.Load(fileName,CXIMAGE_FORMAT_JPG);
	if (!xResult){
		AfxMessageBox("哥!加载失败了!");
		return;
	}
}
void X::SplitImage( int dwidth, int dheight ,int quality){
	if (!quality){
		quality = 100;
	}
	if (quality<0 || quality>100){
		AfxMessageBox("哥!品质数据不合法");
		return;
	}
	CRect r;
	CxImage newImage(dwidth,dheight);
	int i,j;
	CString fname;
	int nameIndex = m_beginIndex;
	int hRange = x_Image.GetHeight();
	int wRange  = x_Image.GetWidth();
	int col = wRange/dwidth;
	int row = hRange/dheight;
	for(j=0;j<row;j++){
		for(i=0;i<col;i++){
			r.left = 0 + i*dwidth;
			r.top = 0 + j*dheight;
			r.right = r.left + dwidth;
			r.bottom = r.top + dheight;
			x_Image.Crop(r,&newImage);
			fname.Format(m_baseFileName, nameIndex);
			fname = m_outPath + fname;
			newImage.SetJpegQuality(quality);
			newImage.SetXDPI(72);
			newImage.SetYDPI(72);
			newImage.Save(fname,CXIMAGE_FORMAT_JPG);
			nameIndex++;
		}
	}
	std::ofstream fout(m_outPath + "imageInfo.txt");
	fout << "tileWidth = " << dwidth << std::endl;
	fout << "tileHeight = " << dheight << std::endl;
	fout << "colNum = " << col << std::endl;
	fout << "rowNum = " << row << std::endl;
	fout.close();
}



切图部分代码mark

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值