QT 图像处理 图像缩小

  
.cpp
#include "saveFile.h"


void GetImageParament(QImage *pImg,struct IMAGEPARAMENT *ppImgParam)
{
	if (pImg->isNull()) return;

	ppImgParam->nWidth   = pImg->width();
	ppImgParam->nHeight   = pImg->height();
	ppImgParam->nBitCount  = pImg->bitPlaneCount();
//	ppImgParam->nBytesPerLine = pImg->bytesPerLine();
	ppImgParam->nBytesPerLine =	(pImg->width()*ppImgParam->nBitCount+31)/32*4;
	
	ppImgParam->nBytesPerPixel   = ppImgParam->nBitCount/8;
	if (ppImgParam->nBitCount<=8) 
		ppImgParam->nNumColors= 1 << ppImgParam->nBitCount;
	else 
		ppImgParam->nNumColors= 0;
	ppImgParam->nSize  = ppImgParam->nBytesPerLine*ppImgParam->nHeight;

	
}

int	 InImage(QImage *pImg,int x,int y)
{
	struct	IMAGEPARAMENT  P;

	GetImageParament(pImg,&P);
	if ((x<0)||(y<0)||(x>=P.nWidth)||(y>=P.nHeight))  return 0;
	else  return 1;
}
//
//
void SetRectValue(QImage *pImg,int x,int y,int Dx,int Dy,unsigned  char *buf)
{
	struct	IMAGEPARAMENT  P;
	char	*lp;
	int		i,dw,dh,x1,y1,alpha,delta,Dxb,dwb;

	GetImageParament(pImg,&P);
	if (P.nBitCount<8) return;
	x1=x;
	y1=y;
	alpha=delta=0;
	if (x<0) { 
		alpha=-x;    x1=0;
	}
	if (y<0) { 
		delta=-y;    
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值