ImageGear for C and C++ on Windows v21.0 - Updated
API Reference Guide / Core Component API Reference / Core Component Functions Reference / Pixel Functions / IG_pixel_value_get
In This Topic
    IG_pixel_value_get
    In This Topic

    This function returns the value of the requested channel.

    Declaration:

     
    Copy Code
    AT_UINT ACCUAPI IG_pixel_value_get(
            HIGPIXEL hPixel,
            AT_INT channel
    );
    

    Arguments:

    Name Type Description
    hPixel HIGPIXEL Handle of pixel object.
    channel AT_INT Channel index from which to get value.

    Return Value:

    Channel value.

    Supported Raster Image Formats:

    All pixel formats supported by ImageGear for C and C++.

    Sample:

    Pixel Access

    Example:

     
    Copy Code
    AT_ERRCOUNT nErrcount;  /* Number of errors on stack */
    HIGEAR hImage;          /* Handle of image */
    HIGPIXEL hPix;          /* Handle of pixel */
    AT_DIMENSION w, h;      /* Width and height of image */
    AT_INT nChannels;       /* Number of channels in image */
    AT_DIMENSION x, y;      /* Used to loop over image */
    AT_INT c;               /* Used to loop over channels */
    AT_INT nDepth;          /* Channel depth */
    AT_UINT inverted;       /* Inverted channel value */
    /* Invert colors in upper-left quadrant of image */
    nErrcount = IG_load_file("test.jpg", &hImage);
    nErrcount = IG_image_channel_count_get(hImage, &nChannels);
    nErrcount = IG_image_dimensions_get(hImage, &w, &h, NULL);
    for (y = 0; y < h / 2; y++)
        for (x = 0; x < w / 2; x++)
        {
            nErrcount = IG_DIB_pix_get(hImage, x, y, &hPix);
            for (c = 0; c < nChannels; c++)
            {
                IG_image_channel_depth_get(hImage, c, &nDepth);
                nDepth = (1 << nDepth) - 1;
                inverted = nDepth - IG_pixel_value_get(hPix, c);
                IG_pixel_value_set(hPix, c, inverted);
            }
            nErrcount = IG_DIB_pix_set(hImage, x, y, hPix);
            IG_pixel_delete(hPix);
        }
    nErrcount = IG_save_file(hImage, OUTPUT_FILENAME, 
        IG_SAVE_BMP_UNCOMP);
    IG_image_delete(hImage);
    

    Remarks:

    The range of possible values depends on the bit depth of the channel.