- globalmapper.GetPixelColor(GM_LayerHandle_t32 aLayer, sint32 aRow, sint32 aCol) GM_Error_t32, GM_Color_t
-
Retrieves the color at a given pixel location from the provided raster layer. If the layer does not contain a valid color value at the provided pixel location (i.e. it is a “no data” or transparent value), GM_Error_NoDataAtLocation will be returned.
- Parameters:
-
aLayer (GM_LayerHandle_t32) – Layer to get color from
aRow (sint32) – Y coord of pixel (0 is topmost)
aCol (sint32) – X coord of pixel (0 is leftmost)
- Returns:
-
Error Code
- Return type:
-
GM_Error_t32
- Returns:
-
Color of pixel at location
- Return type:
Note: To get pixel row/col data, you can select a point feature in Global Mapper:
Right-click -> Attribute/Style Functions -> Add Pixel Coordinates to Selected Point(s)
Example
The following is an example of GetPixelColor.
import os
import globalmapper as gm
import_dir = "Z:/GM-20069/single_function_sample_data/"
# Close all layers that may be open
layers_are_open = gm.GetLoadedLayerList()
if layers_are_open:
arr_ptr, arr_size = layers_are_open
initial_layers = gm.GM_LayerHandle_array_frompointer(arr_ptr)
for i in range(arr_size):
gm.CloseLayer(initial_layers[i])
err_LoadLayerList, array_pointer, array_size_param = gm.LoadLayerList(
os.path.join(import_dir, "Augusta.jpg"),
gm.GM_LoadFlags_HideAllPrompts,
)
# Get handle for the loaded layers
arr_ptr, arr_size = gm.GetLoadedLayerList()
layers_array = gm.GM_LayerHandle_array_frompointer(arr_ptr)
layers_list = gm.carray_to_list(layers_array, arr_size)
### START SAMPLE
err_GetPixelColor, pixel_color = gm.GetPixelColor(
layers_list[0], 261, 878
)
### END SAMPLE
assert (
gm.GM_Error_None == err_LoadLayerList
), f"LoadLayerList: Expected {gm.GM_Error_None}, got {err_LoadLayerList}"
assert (
gm.GM_Error_None == err_GetPixelColor
), f"GetPixelColor: Expected {gm.GM_Error_None}, got {err_GetPixelColor}"