LEADCAPTUREAREAOPTION

typedef struct tagLEADCAPTUREAREAOPTION 
{ 
   L_UINT uStructSize; 
   L_UINT uAreaType; 
   L_INT nFillPattern; 
   COLORREF crFillForeColor; 
   COLORREF crFillBackColor; 
   L_UINT uDrawLineStyle; 
   COLORREF crDrawLineColor; 
   L_UINT uEllipseWidth; 
   L_UINT uEllipseHeight; 
   L_UINT uFlags; 
   HCURSOR hDrawCursor; 
   COLORREF crTextForeColor; 
   COLORREF crTextBackColor; 
   L_INT nInfoLeft; 
   L_INT nInfoTop; 
   L_INT nInfoWidth; 
   L_INT nInfoHeight; 
} LEADCAPTUREAREAOPTION, * LPLEADCAPTUREAREAOPTION; 

This structure is used to define the options of the LScreenCapture::CaptureArea function.

Member Description
uStructSize Size of this structure in bytes, for versioning. Use the sizeof() operator to calculate this value.
uAreaType Type of area to capture. Possible values for enumeration AREATYPEENUM are:
  CAPTURE_AREA_TRIANGLE [0x1] Triangle
  CAPTURE_AREA_RECT [0x2] Rectangle
  CAPTURE_AREA_ROUNDRECT [0x3] Rounded Rectangle
  CAPTURE_AREA_ELLIPSE [0x4] Ellipse
  CAPTURE_AREA_POLYGON [0x5] Polygon (each click defines point)
  CAPTURE_AREA_FREEHAND [0x6] Freehand (click and drag)
nFillPattern Fill pattern for the bitmap. Possible values are:
  CAPTURE_AREA_PATTERN_HORIZONTAL HS_HORIZONTAL /* ----- */
  CAPTURE_AREA_PATTERN_VERTICAL HS_VERTICAL /* ||||| */
  CAPTURE_AREA_PATTERN_FDIAGONAL HS_FDIAGONAL /* \\\\\ */
  CAPTURE_AREA_PATTERN_BDIAGONAL HS_BDIAGONAL /* ///// */
  CAPTURE_AREA_PATTERN_CROSS HS_CROSS /* +++++ */
  CAPTURE_AREA_PATTERN_DIAGCROSS HS_DIAGCROSS /* xxxxx */
  CAPTURE_AREA_PATTERN_SOLID HS_DIAGCROSS+1 /*Solid Fill*/
crFillForeColor Foreground color.
crFillBackColor Background color.
uDrawLineStyle Draw line style. Possible values are:
  CAPTURE_AREA_LINE_SOLID PS_SOLID /________/
  CAPTURE_AREA_LINE_DASH PS_DASH /*----------*/
  CAPTURE_AREA_LINE_DOT PS_DOT /*..........*/
  CAPTURE_AREA_LINE_DASHDOT PS_DASHDOT /*-.-.-.-.-.*/
  CAPTURE_AREA_LINE_DASHDOTDOT PS_DASHDOTDOT /*-..-..-*/
crDrawLineColor Line color for drawing.
uEllipseWidth Width of the ellipse used when drawing a rounded rectangle.
uEllipseHeight Height of the ellipse used when drawing a rounded rectangle.
uFlags Flags for options. Possible values are:
  CAPTURE_AREA_SHOW_DRAWCURSOR [0x0001] Show cursor during drawing.
  CAPTURE_AREA_INCLUDE_CURSOR [0x0002] Include cursor in captured image (this is the hCursor from LEADCAPTUREOPTION).
  CAPTURE_AREA_ENABLE_KEYBOARD [0x0004] Allow Ctrl, Shift,+,- keys during capture.
    (+/-) Are used for Zooming In/Out in the info window
    (Ctrl) If Area is Rect, RoundRect, or Ellipse, pressing CTRL will center the drawing.
    (Shift) If Area is Rect, RoundRect, or Ellipse, pressing SHIFT will draw regular shapes (that is Ellipse becomes a circle , Rectangle becomes a Square, etc.).
  CAPTURE_AREA_SHOW_OPAQUE_TEXT [0x0008] Text for cursor position and capture size should have an opaque back color. (Used only for the above CAPTURE_AREA_SHOW_CURSORPOS and CAPTURE_AREA_SHOW_CAPTURESIZE. The info window has opaque text).
  CAPTURE_AREA_SHOW_CURSORPOS [0x0010] Show cursor position during drawing right next to the cursor
  CAPTURE_AREA_SHOW_CAPTURESIZE [0x0020] Show the width and height of the capture.
  CAPTURE_AREA_SHOW_INFOWINDOW [0x0040] Display the info window, the current cursor location, the coordinates of the cursor, and the width and height of the area.
  CAPTURE_AREA_SENSITIVE_INFOWINDOW [0x0080] Enable Sensitive detection for the Info window position.
  CAPTURE_AREA_BITMAP_WITH_REGION [0x0100] Captured bitmap will contain a region selected by user. This region will be the shape indicated in Area.
  CAPTURE_AREA_USE_DEFAULT_VALUES [0x0200] Use default capture area options, all the other flags will be ignored if this flag is set.
When this flag is set, uAreaType and uSize must be set.
CAPTURE_AREA_USE_OFFSET_PREVIEW [0x0400] Offset the preview so the area under the mouse is center in the preview.
  CAPTURE_AREA_ZOOM_NORM [0x1000] The image is not zoomed.
  CAPTURE_AREA_ZOOM_BY2X [0x2000] the image is zoomed 2X.
  CAPTURE_AREA_ZOOM_BY3X [0x3000] the image is zoomed 3X.
  CAPTURE_AREA_ZOOM_BY4X [0x4000] the image is zoomed 4X.
  CAPTURE_AREA_ZOOM_BY5X [0x5000] the image is zoomed 5X.
  CAPTURE_AREA_ZOOM_BY6X [0x6000] the image is zoomed 6X.
  CAPTURE_AREA_ZOOM_BY7X [0x7000] the images is zoomed 7X.
  CAPTURE_AREA_ZOOM_BY8X [0x8000] the image is zoomed 8X.
  CAPTURE_AREA_ZOOM_BY9X [0x9000] the image is zoomed 9X.
  CAPTURE_AREA_ZOOM_BY10X [0xA000] the image is zoomed 10X.
  CAPTURE_AREA_ZOOM_BY11X [0xB000] the image is zoomed 11X.
  CAPTURE_AREA_ZOOM_BY12X [0xC000] the image is zoomed 12X.
  CAPTURE_AREA_ZOOM_BY13X [0xD000] the image is zoomed 13X.
  CAPTURE_AREA_ZOOM_BY14X [0xE000] the image is zoomed 14X.
  CAPTURE_AREA_ZOOM_BY15X [0xF000] the image is zoomed 15X.
hDrawCursor Cursor for drawing area.
crTextForeColor Foreground color of info text.
crTextBackColor Background color of info text.
nInfoLeft Left coordinate of the info window. Possible values are listed below. In addition, any other positive value specified by the user to define left position for the Info Window may be used.
  CAPTURE_AREA_INFOWND_POS_LEFT -1
  CAPTURE_AREA_INFOWND_POS_RIGHT -2
nInfoTop Top coordinate of the info window. Possible values are listed below. In addition, any other positive value specified by the user to define the top position for the Info Window may be used.
  CAPTURE_AREA_INFOWND_POS_TOP -3
  CAPTURE_AREA_INFOWND_POS_BOTTOM -4
nInfoWidth Width of the info window. Possible values are listed below. In addition, any other positive value specified by the user to define custom width and height for the info window may be used.
  CAPTURE_AREA_INFOWND_SIZE_TINY -1
  CAPTURE_AREA_INFOWND_SIZE_SMALL -2
  CAPTURE_AREA_INFOWND_SIZE_MEDIUM -3
  CAPTURE_AREA_INFOWND_SIZE_LARGE -4
  CAPTURE_AREA_INFOWND_SIZE_XLARGE -5
nInfoHeight Height of the info window. Possible values are the same as for nInfoWidth. Both nInfoWidth and nInfoHeight must be positive values or values from the table in nInfoWidth.

Comments

The area of the bitmap outside the user-defined region will be filled with the pattern defined by nFillPattern, crFillForeColor, and crFillBackColor.

The zoom factor can be obtained from the flags as follows:

zoom_factor = ((uFlags & CAPTURE_AREA_ZOOM_BY15X) >> 12)

The flag can be obtained from the zoom factor as follows

Flag = (zoom_factor)<< 12

nInfoWidth, nInfoTop, nInfoWidth and nInfoHeight are ignored if CAPTURE_AREA_SHOW_INFOWINDOW is not set.

CAPTURE_AREA_SHOW_INFOWINDOW and CAPTURE_AREA_SHOW_CAPTURESIZE are not mutually exclusive. If both flags are set, you will have both an info window and the size of the captured area. Likewise, if CAPTURE_AREA_SHOW_INFOWINDOW and CAPTURE_AREA_SHOW_CURSORPOS are set, you will have both an info window and the position of the cursor.

After the initial placement of the info window, the window will be moved to another corner of the screen whenever the mouse cursor becomes near the info window. This way, the user will not be disturbed during the selection of the area he wants, and he will be able to see a zoomed image for the current cursor position. The info window will look like this:

image\info.gif
Help Version 20.0.2020.4.5
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help