2024年2月8日发(作者:)

for(x=((800-length)/2);x<((400+length/2));x++) for(y=(480-height)/2;y<(240+height/2);y++) { lcd_buf1[800*(480-y-1)+x]=lcd_buf[800*y+x]; }

//write(lcdfd,lcd_buf1,800*480*4);

//映射内存 int *mmap_bmp = mmap(NULL, 800*480*4, PROT_READ|PROT_WRITE, MAP_SHARED, lcdfd, 0); for(int i=0;i<480;i++) for(int j=0;j<800;j++) *(mmap_bmp+i*800+j)=lcd_buf1[800*i+j]; munmap(mmap_bmp, 800*480*4); //lcd_buf[i] =(0x00<<24) + (bmpbuf[3*i+2]<<16) + (bmpbuf[3*i+1]<<8) + (bmpbuf[3*i+0]); //关闭

close(bmpfd); close(lcdfd); return 0;}int main(){ struct siglelist *mylist=list_init(); struct siglelist *data_n=list_init(); stpcpy(mylist->names,BMP5); stpcpy(data_n->names,BMP1); insert_tail(data_n,mylist); stpcpy(data_n->names,BMP2); insert_tail(data_n,mylist); stpcpy(data_n->names,BMP3); insert_tail(data_n,mylist); stpcpy(data_n->names,BMP4); insert_tail(data_n,mylist); int xy[2]={0,0}; char bmp_box[50]; showbmp_mmap(BMP5); struct siglelist *p=mylist; /* show_xy(xy); printf("< %d,%d >n",xy[0],xy[1]); */ //show_xy(xy);

while(1) { show_xy(xy); printf("< %d,%d >n",xy[0],xy[1]); if(xy[0]>0&&xy[0]<150) {

p=p->next; strcpy(bmp_box,p->names); showbmp_mmap(bmp_box);

} if(xy[0]>600&&xy[0]<800) {

p=p->pre; strcpy(bmp_box,p->names); showbmp_mmap(bmp_box);

} }

p->next->pre=p->pre; p->pre->next=p->next; p=p->next; n++;

} else { p=p->next; }

}

if(n<0) { printf("链表中不存在数据%dn", olddata); } else { printf("删除了%d个数据n", n+1); }

return 0;}