set_grayT_set_graySetGraySetGray (Operator)


set_grayT_set_graySetGraySetGray — Define gray values for region output.


set_gray( : : WindowHandle, GrayValues : )

Herror T_set_gray(const Htuple WindowHandle, const Htuple GrayValues)

void SetGray(const HTuple& WindowHandle, const HTuple& GrayValues)

void HWindow::SetGray(const HTuple& GrayValues) const

void HWindow::SetGray(Hlong GrayValues) const

static void HOperatorSet.SetGray(HTuple windowHandle, HTuple grayValues)

void HWindow.SetGray(HTuple grayValues)

void HWindow.SetGray(int grayValues)


set_grayset_graySetGraySetGraySetGray defines the gray values for region output. Gray values are defined as the range of the color lookup table that is used for gray value output with disp_imagedisp_imageDispImageDispImageDispImage in conjunction with set_paint(::WindowHandle,'gray':)set_paint(WindowHandle,"gray")SetPaint(WindowHandle,"gray")SetPaint(WindowHandle,"gray")SetPaint(WindowHandle,"gray"). These entries can be modified by set_lutset_lutSetLutSetLutSetLut. So a 'gray value' is the color in which a pixel with the same value is displayed (not necessarily really gray). In general, when changing the color lookup table with set_lutset_lutSetLutSetLutSetLut, the colors of the displayed image will change too.

If a gray value is needed as a color for image output (i.e. no color changes with set_lutset_lutSetLutSetLutSetLut are possible), it can be set with set_color(::WindowHandle,'gray':)set_color(WindowHandle,"gray")SetColor(WindowHandle,"gray")SetColor(WindowHandle,"gray")SetColor(WindowHandle,"gray").

If only a single gray value is passed, all output will take place in that gray value. If a tuple of gray values is passed, all output will take place in gray values modulo the number of tuple elements. In the example below, the first circle is displayed with gray value 100, the second with 200 and the third with 100 again. Every output operator starts with the first gray value. Note, that the number of output gray values depends on the number of objects that are displayed in one operator call. If only single objects are displayed, they always appear in the first gray value, even if the consist of more than one connected components.

When the operators set_grayset_graySetGraySetGraySetGray, set_colorset_colorSetColorSetColorSetColor, set_rgbset_rgbSetRgbSetRgbSetRgb, set_hsiset_hsiSetHsiSetHsiSetHsi are called, the overwrite the existing values. If not all gray values are displayable on the output device, the number range of GrayValuesGrayValuesGrayValuesGrayValuesgrayValues (0..255) is dithered to the range of displayable gray values. In any case 0 is displayed as black and 255 as white. The displayable gray values can be queried with the operator query_grayquery_grayQueryGrayQueryGrayQueryGray. With set_check(::'~color':) error messages can be suppressed if a gray value can't be displayed on the screen. In that case, a similar gray value is displayed.

Execution Information


WindowHandleWindowHandleWindowHandleWindowHandlewindowHandle (input_control)  window HWindow, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Window handle.

GrayValuesGrayValuesGrayValuesGrayValuesgrayValues (input_control)  integer(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Gray values for region output.

Default value: 255

Suggested values: 0, 1, 2, 10, 16, 32, 64, 100, 120, 128, 250, 251, 252, 253, 254, 255

Typical range of values: 0 ≤ GrayValues GrayValues GrayValues GrayValues grayValues ≤ 255

Example (HDevelop)



set_hsiset_hsiSetHsiSetHsiSetHsi returns 2 (H_MSG_TRUE) if the window is valid and the given gray value is displayable. Otherwise an exception is raised.

Possible Successors


See also