[ Содержание ][ Перечень функций ]

XCreateImage - создание локального графического образа

СИНТАКСИС
    XImage *XCreateImage(display, visual, depth, format, offset, data, width,
			    height, bitmap_pad, bytes_per_line)
	Display *display;
	Visual *visual;
	unsigned int depth;
	int format;
	int offset;
	char *data;
	unsigned int width;
	unsigned int height;
	int bitmap_pad;
	int bytes_per_line;

АРГУМЕНТЫ

ОПИСАНИЕ

     Функция XCreateImage создаёт локальный графический образ c указанными в аргументах параметрами, возвращая указатель на структуру описания изображения. Данные этого изображения хранятся в адресном пространстве программы, а не на X-сервере, как это происходит в случае с графическим образом, создаваемым функцией XCreatePixmap.

     Поскольку созданное изображение будет локальным, скорость работы с ним несоизмеримо быстрее, чем работа с графическими образами, расположенными на сервере, однако это изображение не может выполнять функции Drawable и с ним работают только самые примитивные операции (см. список ссылок). Тем не менее, если программа способна учитывать особенности визуальных классов, то она может использовать собственные функции, которые будут непосредственно обращаться к области данных с целью ускорения процесса формирования изображения.

     Формат изображения, указываемый в аргументе format указывает на то, каким образом будут храниться данные изображения. XYBitmap подразумевает монохромное изображение (организация хранения данных изображения аналочина формату изображения, рассматриваемому в описании функции XReadBitmapFileData), XYPixmap в данных изображения хранит индексы из цветовой палитры, а ZPixmap кроме этого позволяет работать с масками красного, зеленого и синего цветов, которые берутся из visual.

     Аргумент bytes_per_line указывает колчество байт между двумя строками изображения. Если указать нулевое значение, то будет подразумеваться, что строки изображения в памяти будут располагаться непосредственно друг за другом и количество байт между строками функция вычислит сама.

     Аргумент offset можно использовать для увеличения эффективности вывода монохромных изображений в монохромные объекты вывода графики - делать количество игнорируемых точек таким, чтобы отсутствовала необходимость побитового сдвига строк изображения перед их выводом. Возможно, в наше время это не настолько актуально, но в то время, когда вычислительные системы не обладали столь высокой производительностью, этот параметр позволял существенно повысить скорость вывода изображения.

     При вызове XCreateImage выделяется память под структуру XImage, которая описывает параметры изображения. Память под данные изображения программа должна выделить сама и указать её через аргумент data.

     После завершения работы с изображением, его можно удалить при помощи функции XDestroyImage.

Cм. также: XInitImage, XGetPixel, XPutPixel, XSubImage, XAddPixel, XDestroyImage, XPutImage, XGetImage, XGetSubImage.


[ Содержание ][ Перечень функций ]