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

XGetSubImage - копирование прямоугольной области из объекта вывода графики в локальный графический образ

СИНТАКСИС
    XImage *XGetSubImage(display, d, x, y, width, height, plane_mask, format,
			    dest_image, dest_x, dest_y)
	Display *display;
	Drawable d;
	int x, y;
	unsigned int width, height;
	unsigned long plane_mask;
	int format;
	XImage *dest_image;
	int dest_x, dest_y;

АРГУМЕНТЫ

ОПИСАНИЕ

     Эта функция копирует содержимое прямоугольной области из объекта вывода графики d в локальный графический образ, указанный в dest_image. Левый верхний угол области в объекте d задаётся аргументами x и y, а в изображении область помещается по координатам, заданным в аргументах dest_x и dest_y. Размер области задаётся аргументами width и height. Для удобства функция возвращает указатель на изображение, на которое указывает аргумент dest_image. Если по каким-либо причинам копирование области оказалось невозможным, на выходе будет получено значение NULL.

     Если указывается формат изображения равный XYPixmap, то будут копироваться только те плоскости, которые указаны в plane_mask (соответствующие разряды в маске битовых плоскостей устанавливаются в единицу). Если формат изображения указан равным ZPixmap, то XGetSubImage будет обнулять в копируемых данных разряды, cоответствующие не перечисленным в маске плоскостям. Эта функция не делает проверки значения маски plane_mask на выход за пределы допустимых значений.

     Глубина цветности изображения должна быть равной глубине цветности объекта вывода графики d.

     Если d является графическим образом Pixmap, то запрашиваемая прямоугольная область должна полностью находиться внутри d, иначе появится ошибка BadMatch. Для случаев, когда d является окном InputOutput, прямоугольная область не должна выходить за бордюр окна.

     Если прямоугольная область выходит за пределы изображения dest_image, то она обрезается по правому и нижнему краю изображения.

     Если d является окном и оно закрыто другими окнами, но содержимое его закрытых областей сохранено в backing_store, то содержимое окна будет восстановлено из backing_store, иначе результат будет неизвестно каким. Если окно закрыто дочерними окнами, то в изображение попадает содержимое этих окон. Причем, если глубина цветности окна d и дочерних окон разная, то результат для закрытых частей окна также будет неизвестен.

     Изображение графического курсора не попадает в получаемое изображение, если d является окном и курсор находится над ним.

     Функция XGetSubImage может генерировать следующие ошибки:

См. также: XCreateImage, XInitImagePixel, XGetPixel, XPutPixel, XSubImage, XAddPixel, XDestroyImage, XPutImage, XGetImage.


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