Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - X Pixmap - Свойства X Pixmap15 мая 2011Оглавление: 1. X Pixmap 2. Прозрачность 3. Свойства X Pixmap Формат X Pixmap обладает рядом достоинств и недостатков которые отличают его от других форматов:
Использование в кодеДостаточно включить файл и можно использовать переменную #include "image.xpm" X Pixmap может использоваться не только для приложений X Window, а также в кроссплатформенных средах разработки. Например поддержка этого формата полностью реализована в библиотеке wxWidgets. Пример программыНиже дан пример программы на C, которая выводит изображение в окно X Window, pixmap файл передан в командной строке: /* * Компилируется строкой cc -o test test.c -lX11 -lXpm * Запускается: ./xtest xpm_file.xpm */ #include <X11/Xlib.h> #include <X11/Xutil.h> #include <X11/Xatom.h> #include <X11/keysym.h> #include <stdlib.h> #include <X11/xpm.h> #include <stdio.h> #include <errno.h> extern int errno; int main { Display *dis; Window win; /* Наше окно */ XEvent event; /* События */ GC gc; /* Графический контекст */ XImage *image,*shape; XpmAttributes xpm; int screen, depth, err, width, height; unsigned char *data; char file_name; if { perror; exit; } else { strcpy; } if )) == NULL) { printf); exit; } win = XCreateSimpleWindow), 0, 0, 1024, 768, 5, BlackPixel), WhitePixel)); XSetStandardProperties; gc = DefaultGC); /* Читаем Pixmap */ xpm.closeness = 40000; xpm.valuemask = XpmSize | XpmCloseness; err = XpmReadFileToImage; if { printf; return -1; } else if { printf; return -1; } else if { printf; return -1; } else printf; XMapWindow; XSelectInput; while { XNextEvent; if { switch { /* Вывести рисунок */ case Expose: XPutImage; break; /* Нажали клавишу "q" */ case KeyPress: if == XK_q) { XDestroyImage; XCloseDisplay; exit; } break; } } } return 0; } Просмотров: 2651
|