本文主要是介绍x11 display_image,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
显示图片
- 将图片信息加载到内存中,这里直接在内存中生成图片
int i, j;unsigned char *image32=(unsigned char *)malloc(width*height*4);unsigned char *p=image32;for(i=0; i<width; i++){for(j=0; j<height; j++){if((i<256)&&(j<256)){*p++=rand()%256; // blue*p++=rand()%256; // green*p++=rand()%256; // red}else{*p++=i%256; // blue*p++=j%256; // greenif(i<256)*p++=i%256; // redelse if(j<256)*p++=j%256; // redelse*p++=(256-j)%256; // red}p++;}}
产生这个图片算是一个二维数组使用的基础功,还是比较漂亮。大家逻辑不清楚,可以多花点时间修改试试看效果。
2. 创建一张图片
c return XCreateImage(display, visual, DefaultDepth(display,DefaultScreen(display)), ZPixmap, 0, image32, width, height, 32, 0);
需要注意,这里image32参数是malloc申请的内存空间,但是 XCreateImage 接管了这个地址,所以不用我们手动 free,不然会报内存错误。
- 绘制图片
XPutImage(display, window, DefaultGC(display, 0), ximage, 0, 0, 0, 0, width, height);
这篇关于x11 display_image的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!