资源简介
基于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
评论
共有 条评论