資源簡介
基于C語言的關于圖片縮小與放大的級數,供學習參考

代碼片段和文件信息
#include “GUI.h“
#ifndef __IMAGESCALE_C__
#define __IMAGESCALE_C__
/*============================================================================*/
/*============================================================================*/
void GUI_ImageScale(void?*NewImagevoid?*ScrImagefloat?scale)
{
struct IMAGE_INFO ScrImgInfoNewImgInfo;
int xx0yy0xx1yy1dx0dy0dx1dy1;
U16 *pNewPixel;
U8 *pTempImg;
U16 *pScrPixel;
////
if(scale==0) return;
////
GetImageInfo(ScrImage&ScrImgInfo); //源圖像的圖像信息.
pTempImg=malloc(ScrImgInfo.Dx*ScrImgInfo.Dy*2+8);
if(!GUI_ImageDecode(pTempImgScrImage)) //源圖像解碼到pTempImg.
{
//解碼失敗.
free(pTempImg);
return;
}
////
GetImageInfo(pTempImg&ScrImgInfo); //源圖像解碼后的圖像信息.
////
pScrPixel =(U16*)ScrImgInfo.pImageData; //源圖像像素數據指針起始地址.
dx0 =ScrImgInfo.Dx; //源圖像的dx
dy0 =ScrImgInfo.Dy; //源圖像的dy
dx1 =(float)dx0*scale; //縮放后圖像的dx
dy1 =(float)dy0*scale; //縮放后圖像的dy
pNewPixel =malloc(dx1*dy1);
////////
for(yy1=0;yy1 {
yy0 =(float)yy1/scale;
////
for(xx1=0;xx1 {
xx0 =(float)xx1/scale;
*(pNewPixel+xx1+yy1*dx1)=*(pScrPixel+xx0+yy0*dx0);
}
}
////
GUI_CreateImageFile(NewImage16dx1dy1(U8*)pNewPixel);
free(pNewPixel);
free(pTempImg);
}
/*============================================================================*/
/*============================================================================*/
/*============================================================================*/
/*============================================================================*/
/*============================================================================*/
/*============================================================================*/
/*============================================================================*/
/*============================================================================*/
/*============================================================================*/
/*============================================================================*/
#endif
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2266??2009-03-31?18:29??ImageScale.c
?????文件???????5659??2009-03-31?22:33??WindowTest.c
-----------?---------??----------?-----??----
?????????????????7925????????????????????2
評論
共有 條評論