//图形旋转的C语言源程序
#include<stdlib.h>
#include<stdio.h>
#include<graphics.h>
#include<alloc.h>
#include<ctype.h>
int load_cut(char *fname);
int load_convolution_matrix(char *fname);
int convolve_image(void);
int swap_pictures(void);
int minx,maxx,miny,maxy;
int LOADPAGE=0;
int ENHANCEPAGE=1;
int *cmat, *pmat, *vmat;
int cmx,cmy,cmnum;
struct palettetype palette,newpal;
int driver,mode;
int cleancut=-1;
int init_graphics(void)
{
driver=DETECT; mode=0;
detectgraph(&driver,&mode);
if(driver==VGA) mode=VGAMED;
initgraph(&driver,&mode,"");
getpalette(&palette);
getpalette(&newpal);
}
int cleanup_image(void)
{
int i,j,num,x,y,k;
if(cleancut<0) return;
setactivepage(LOADPAGE);
setvisualpage(ENHANCEPAGE);
for(x=minx;x<maxx;x++) {
for(y=miny;y<maxy;y++) {
if(getpixel(x,y)!=0) num=-1;
else num=0;
for(j=-1;j<2;j++) {
for(i=-1;i<2;i++) {
if(getpixel(x+i,y+j)!=0) num++;
}
}
if(num>cleancut) {
k=getpixel(x,y);
setactivepage(ENHANCEPAGE);
putpixel(x,y,k);
setactivepage(LOADPAGE);
}
}
}
k=ENHANCEPAGE; ENHANCEPAGE=LOADPAGE; LOADPAGE=k;