[ Содержание ] | [ Перечень функций ] |
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.
[ Содержание ] | [ Перечень функций ] |