L_DispContainerGetBitmapPixel

#include "l_bitmap.h"

L_LTIVW_API L_INT EXT_FUNCTION L_DispContainerGetBitmapPixel(hCellWnd, nSubCellIndex, pSrcPoint, pBitmapPoint, uFlags)

Gets the bitmap pixel associated with the specified position.

Parameters

L_HWND hCellWnd

A handle to the window that represents the cell on which the function's effect will be applied.

L_INT nSubCellIndex

A zero-based index into the image list attached to the cell specified in nCellIndex. This sub-cell contains the image that contains the bitmap. Pass -2 to refer to the selected sub-cell.

LPPOINT pSrcPoint

Pointer to the POINT structure that specifies the point to get the corresponding bitmap coordinates. Coordinates are relative to the associated cell area.

LPPOINT pBitmapPoint

Pointer to the POINT structure that provides the corresponding bitmap coordinates to the specified point pSrcPoint.

L_UINT uFlags

Reserved for future use. Pass 0.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

If the user passes coordinates that falls outside the valid bitmap coordinates range, pBitmapPoint will return {-1, -1}.

Required DLLs and Libraries

See Also

Functions

Topics

Example

this example draw dots on the image when clicking on it using the left mouse button.

static L_INT EXT_CALLBACK MouseCallBack(HWND hCellWnd, 
                                        L_UINT                 uMessage, 
                                        pDISPCONTAINERCELLINFO pCellInfo, 
                                        L_VOID *               pUserData) 
{ 
   UNREFERENCED_PARAMETER(pCellInfo); 
   HDISPCONTAINER hCon = (HDISPCONTAINER)pUserData; 
   POINT ptBitmapPoint; 
   BITMAPHANDLE Bitmap; 
 
   L_INT nCellIndex = pCellInfo->nCellIndex; 
   hCellWnd = L_DispContainerGetCellWindowHandle(hCon, nCellIndex, 0); 
 
 
   switch(uMessage) 
   { 
   case WM_LBUTTONDOWN: 
      { 
         POINT ptPoint = {pCellInfo->nX, pCellInfo->nY}; 
         L_DispContainerGetBitmapPixel(hCellWnd, pCellInfo->nSubCellIndex, &ptPoint, &ptBitmapPoint, 0); 
 
         L_DispContainerGetBitmapHandle(hCellWnd, pCellInfo->nSubCellIndex, &Bitmap, 0); 
         L_PutPixelColor(&Bitmap, ptBitmapPoint.y, ptBitmapPoint.x, RGB(255, 255, 255)); 
         L_DispContainerSetBitmapHandle(hCellWnd, pCellInfo->nSubCellIndex, &Bitmap, TRUE, 0); 
      } 
      break; 
   } 
 
   return SUCCESS; 
} 
 
L_INT DispContainerGetBitmapPixel(HDISPCONTAINER hCon) 
{ 
   DISPCONTAINERMOUSECALLBACK oldCallBack; 
   L_VOID *                   pOldUserData; 
 
   if (L_DispContainerGetCellCount(hCon, 0) == 0) 
   { 
      MessageBox(NULL, TEXT("you must at least have one cell added to the viewer"), TEXT("No Cell attached"), MB_OK); 
      return FAILURE; 
   } 
 
   HWND hCellWnd = L_DispContainerGetCellWindowHandle(hCon, 0, 0); 
 
   L_DispContainerGetMouseCallBack(hCellWnd, &oldCallBack, &pOldUserData); 
 
   L_DispContainerSetMouseCallBack(hCellWnd, MouseCallBack, hCon); 
 
   return SUCCESS; 
} 

Help Version 21.0.2020.8.21
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Medical Image Viewer C API Help