亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? c圖形旋轉(zhuǎn).txt

?? 圖形旋轉(zhuǎn)的C語言源程序
?? TXT
字號:
/*****************************************************************/
/* CONVOLVE.C - Turbo C 2.0 implementation of image convolution */
/* ---------- by Wesley G. Faler. All code is "as is". There */
/* is NO copyright. Use this code as you will, and if you make */
/* money at it, good for you. */
/*****************************************************************/

#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;
}

void show_test_image(void)
{
int i;

minx=cmx; miny=cmy;
maxx=100+minx; maxy=100+miny;
setcolor(1);
moveto(minx,miny);
randomize();
for(i=0;i<20;i++)
lineto(random(100)+minx,random(100)+miny);
for(i=0;i<10;i++)
fillellipse(random(50)+25+minx,random(50)+25+miny,random(25),random(25));
}

main()
{
char fname[50];
int flag=0;

load_convolution_matrix("matrix.dat");
printf(".CUT file (1) or test image (0)?");
scanf("%d",&flag);
flag= flag? 1:0;
if(flag) {
fflush(stdin);
printf("filename to process:");
gets(fname);
}

printf("Delete pixels with x or fewer neighbors. x=");
scanf("%d",&cleancut);
if(cleancut>8) cleancut=8;

init_graphics();
setactivepage(1); cleardevice();
setactivepage(0); cleardevice();

setactivepage(LOADPAGE); setvisualpage(LOADPAGE);
if(flag) load_cut(fname);
else show_test_image();
cleanup_image();

setvisualpage(ENHANCEPAGE);
convolve_image();

swap_pictures();
restorecrtmode();
}

int toggle_colors(char c)
{
c=tolower(c);
c=c-'a';
if(c<0 || c>=palette.size) return 0;
newpal.colors[c]= palette.colors[c]-newpal.colors[c];
setpalette(c,newpal.colors[c]);
return 1;
}

int swap_pictures(void)
{
int mode=0;
char a;

setvisualpage(LOADPAGE);
for(;;) {
a=getch();
if(a==27) return;
if(toggle_colors(a)) continue;
if(mode==0) setvisualpage(ENHANCEPAGE);
if(mode==1) setvisualpage(LOADPAGE);
mode=1-mode;
}
}

int convolve_image(void)
{
int i,j,k,nval;
int *vx, *vy, *c;
int colmax,offset,end,midy;
char **lines=NULL;
char *temp=NULL;

offset=-minx+(cmx/2);
end=cmy-1; midy=cmy/2;
lines=(char **)malloc(cmy*sizeof(char *));
for(i=0;i<cmy;i++) lines[i]=(char *)malloc(sizeof(char)*(maxx-minx+cmx+1));
setactivepage(LOADPAGE);
for(j=-cmy/2;j<cmy/2;j++) {
for(i=minx-cmx/2;i<(maxx+cmx/2+1);i++) {
lines[j+midy][i+offset]=getpixel(i,j+miny);
}
}
colmax=getmaxcolor();
for(j=miny;j<maxy;j++) {
setactivepage(LOADPAGE);
for(i=j+cmy/2,k=minx-cmx/2,nval=maxx+cmx/2;k<nval;k++)
lines[end][k+offset]=getpixel(k,i);
for(i=minx;i<maxx;i++) {
/* Load & multiply neighbors into matrix */
setactivepage(LOADPAGE);
vx=vmat; vy=vmat+1; c=cmat; nval=0;
for(k=0;k<cmnum;k++) {
if(*c) nval+= lines[(*vy)+midy][i+(*vx)+offset]*(*c);
/* if(*c) nval+= getpixel(i+(*vx),j+(*vy)) * (*c); */
c++;
vx+=2; vy+=2;
}
/* Cut off values too high or too low */
if(nval<0) nval=0;
if(nval>colmax) nval=colmax;
/* Place new pixel value */
setactivepage(ENHANCEPAGE);
putpixel(i,j,nval);
}
if(kbhit()) { getch(); break; }
/* rotate line pointers */
temp=lines[0];
for(i=1;i<cmy;i++) lines[i-1]=lines[i];
lines[end]=temp;
}
for(i=0;i<cmy;i++) {
if(lines[i]!=NULL) free(lines[i]);
}
if(lines!=NULL) {
free(lines);
}
return;
}

int build_offset_vectors(void)
{
int *t;
int il,im,jl,jm,i,j;

il=-cmx/2; im=cmx+il;
jl=-cmy/2; jm=cmy+jl;
t=vmat;
for(j=jl;j<jm;j++) {
for(i=il;i<im;i++) {
*t++=i; *t++=j;
}
}
}

int load_convolution_matrix(char *fname)
{
/* Layout of matrix file:
#x #y
x0y0 x1y0 ... xny1
.... .... ... ....
x0ym x1ym ... xnym
*/
FILE *mf;
int *t;
int i,j,im,jm;

if( (mf=fopen(fname,"rt"))==NULL ) {
printf("Cannot load matrix file.\n");
abort();
}
fscanf(mf,"%d%d",&im,&jm);
if( (im&1)==0 || (jm&1)==0 ) {
printf("Convolution matrix MUST have a center point.\n");
abort();
}
if( (cmat=(int *)calloc(im*jm,sizeof(int)))==NULL ) {
printf("Unable to calloc convolution matrix.\n");
abort();
}
if( (vmat=(int *)calloc(2*im*jm,sizeof(int)))==NULL ) {
printf("Unable to calloc offset vector matrix.\n");
abort();
}
cmx=im; cmy=jm; cmnum=im*jm;
t=cmat;
for(j=0;j<jm;j++) {
for(i=0;i<im;i++) {
if( fscanf(mf,"%d",t++)!=1 ) {
printf("Unable to read matrix.\n");
abort();
}
}
}
fclose(mf);
build_offset_vectors();
}

int load_cut(char *fname)
{
static unsigned char st[3000];
char *sp=st,*spend;
int stp=0;
int width,height;
FILE *fp;
int x,y,xl,yl;
int i,n,len,d,j;

fp=fopen(fname,"rb");
width=getw(fp); height=getw(fp);
xl=cmx; yl=cmy;
minx=xl; miny=yl;
maxx=xl+width; maxy=yl+height;
if(maxy>(getmaxy()-cmy)) {
maxy=getmaxy()-cmy;
height=maxy-yl;
}
getw(fp);
y=yl-1;
for(sp=st,n=0;n<height;n++) {
stp=getw(fp);
for(sp=st,spend=st+stp;sp<spend;) *sp++=getc(fp);
sp=st; spend=sp+stp; x=xl; y++;
while(sp<spend) {
if(*((unsigned char *)sp)>0x80) {
len=(*sp++) & 0x7f;
if(!(*sp)) { x+=len; continue; }
setcolor(*sp++);
moveto(x,y);
linerel(len,0);
x+=len;
continue;
} else {
len=*sp++;
for(j=0;j<len;j++) putpixel(x++,y,*sp++);
continue;
}
}
}
fclose(fp);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产超碰在线一区| 欧美日韩亚洲综合一区二区三区| 欧美日韩亚洲综合在线| 夜夜操天天操亚洲| 色婷婷久久一区二区三区麻豆| 亚洲免费大片在线观看| 欧美性猛片xxxx免费看久爱| 精品亚洲免费视频| 亚洲女同女同女同女同女同69| 136国产福利精品导航| 欧美午夜电影网| 91麻豆.com| 亚洲一区免费观看| 欧美日韩一级视频| 精品一区二区三区在线播放| 久久久不卡网国产精品二区 | 成人一级片网址| 亚洲视频小说图片| 51精品秘密在线观看| 国产在线一区观看| 亚洲欧美电影院| 欧美一区中文字幕| 成人一级黄色片| 亚洲成人av福利| 久久亚洲精品小早川怜子| 成年人网站91| 人人爽香蕉精品| 亚洲图片你懂的| 日韩欧美国产一区在线观看| 国产成人精品网址| 石原莉奈在线亚洲三区| 国产日韩欧美一区二区三区乱码| 日本韩国一区二区三区| 国产真实精品久久二三区| 亚洲欧洲综合另类| 欧美不卡在线视频| 91福利区一区二区三区| 激情欧美一区二区| 亚洲国产日产av| 国产日韩欧美精品综合| 欧美精品一级二级| 91在线视频网址| 久久99国产精品成人| 一区二区在线观看视频在线观看| 欧美精品一区二| 欧美日韩午夜在线| 99久久99久久精品免费看蜜桃| 日本欧美大码aⅴ在线播放| 亚洲人成小说网站色在线 | 亚洲九九爱视频| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲免费色视频| 久久噜噜亚洲综合| 91精品国产色综合久久ai换脸| 99久久精品99国产精品| 九一九一国产精品| 日日摸夜夜添夜夜添国产精品| 亚洲三级理论片| 国产精品欧美精品| 国产日韩欧美a| 精品黑人一区二区三区久久| 欧美另类一区二区三区| 欧美吞精做爰啪啪高潮| 99视频一区二区三区| 国产成人aaa| 国产在线精品一区二区三区不卡| 日本不卡一二三| 日韩成人精品在线| 日本女优在线视频一区二区| 亚洲国产色一区| 亚洲高清视频在线| 五月综合激情网| 亚洲va欧美va天堂v国产综合| 一区二区三区成人| 亚洲国产一二三| 婷婷久久综合九色国产成人 | 久久美女高清视频| 久久综合av免费| 久久嫩草精品久久久精品一| 精品剧情v国产在线观看在线| 欧美成人国产一区二区| 日韩午夜小视频| 欧美精品一区二区三区高清aⅴ| 日韩一区二区高清| 2020国产精品自拍| 欧美极品少妇xxxxⅹ高跟鞋| 国产精品网曝门| 亚洲天堂网中文字| 亚洲国产一区视频| 日韩制服丝袜先锋影音| 麻豆精品蜜桃视频网站| 国产呦精品一区二区三区网站| 国产成人综合视频| 99精品视频免费在线观看| 99精品热视频| 欧美日韩美少妇| 日韩午夜在线影院| 久久久久久99精品| 中文字幕中文乱码欧美一区二区| 亚洲私人影院在线观看| 一区二区三区不卡视频在线观看| 五月天激情小说综合| 另类欧美日韩国产在线| 成人少妇影院yyyy| 欧美性xxxxx极品少妇| 欧美一区二区在线免费播放 | 国产一区二区在线电影| 成人爱爱电影网址| 欧美日韩国产一级片| 欧美一区二区啪啪| 国产精品你懂的| 亚洲不卡av一区二区三区| 国产在线播放一区| 色综合久久久久综合99| 日韩一区二区免费视频| 国产精品网站一区| 免费成人美女在线观看| caoporn国产精品| 欧美日韩一区二区三区四区| 精品成人佐山爱一区二区| 亚洲视频小说图片| 日本vs亚洲vs韩国一区三区| 成人手机在线视频| 日韩一区二区三区在线| 亚洲视频一区二区在线观看| 久久精品国产成人一区二区三区 | 久久网站最新地址| 依依成人综合视频| 国产成人av一区二区三区在线| 欧美性生活大片视频| 欧美国产精品一区| 久久国产精品免费| 欧美专区亚洲专区| 国产精品美女久久久久aⅴ| 日韩和欧美一区二区三区| 99国产精品久久久久久久久久久| 欧美电影免费观看完整版| 亚洲已满18点击进入久久| 成人一级片网址| 精品免费视频.| 日韩高清国产一区在线| 日本韩国欧美三级| 国产精品久久久久久一区二区三区 | 免费观看一级特黄欧美大片| kk眼镜猥琐国模调教系列一区二区| 欧美一二三区精品| 亚洲观看高清完整版在线观看| 成人黄色在线看| 国产午夜三级一区二区三| 免费日韩伦理电影| 欧美日韩国产大片| 亚洲一区二三区| 91丨porny丨蝌蚪视频| 日本一区二区三区免费乱视频 | 一级特黄大欧美久久久| 99久久精品99国产精品| 国产精品热久久久久夜色精品三区| 精久久久久久久久久久| 精品久久人人做人人爰| 青青草国产成人av片免费 | 欧美一区二区三区成人| 图片区小说区区亚洲影院| 欧美亚洲综合另类| 亚洲综合免费观看高清在线观看| eeuss鲁一区二区三区| 欧美激情一区二区三区蜜桃视频| 国产一区中文字幕| 国产无遮挡一区二区三区毛片日本| 精品亚洲porn| 久久久久久一二三区| 国产精品综合网| 中文字幕av一区二区三区高| 成人在线综合网站| 国产精品私人影院| 99久精品国产| 亚洲综合视频在线观看| 欧美久久婷婷综合色| 日韩精品一区第一页| 日韩视频免费观看高清在线视频| 日本不卡1234视频| 久久久久久久av麻豆果冻| 成人综合在线网站| 亚洲精品亚洲人成人网| 欧美日韩一区二区三区不卡| 日韩精品成人一区二区三区| 日韩写真欧美这视频| 国产成人精品网址| 亚洲人亚洲人成电影网站色| 91久久精品一区二区| 丝袜亚洲另类欧美综合| www亚洲一区| 99精品久久免费看蜜臀剧情介绍| 亚洲激情在线激情| 欧美一区二区三区视频在线 | 午夜一区二区三区在线观看| 91精品国产色综合久久| 国产一区二区三区久久悠悠色av| 国产精品国产a| 欧美日韩午夜在线| 国产精品一级片|