Search Results for

    Show / Hide Table of Contents

    Class BitmapHelper

    Inheritance
    System.Object
    BitmapHelper
    Namespace: DynamicTesseract
    Assembly: IronOcr.dll
    Syntax
    public static class BitmapHelper : Object

    Reach for BitmapHelper when low-level OCR code has to convert pixel formats or touch a bitmap's raw bytes before handing the image to Tesseract. It is a static utility in the DynamicTesseract interop layer that sits under IronOCR's higher-level reading API, so most projects never call it directly. Code that drives the native engine itself, or that pre-processes image data for a custom scan path, is where it earns its place.

    The class works on an AnyBitmap and on raw byte and pixel pointers, so it belongs to the stage that prepares image data, before the engine reads it. A typical caller has already decoded an image and now needs it in the packed RGBA layout the native pipeline expects, or needs to read and write individual samples in a buffer. BitmapHelper supplies the format conversions and the indexed accessors for that work without forcing a full re-decode of the image.

    The members fall into three functional groups. The pixel-format converters, ConvertArgb1555ToRGBA, ConvertRgb555ToRGBA, and ConvertRgb565ToRGBA, promote a single packed 16-bit sample to 32-bit RGBA, and EncodeAsRGBA packs four Byte channels back into one UInt32. The typed buffer readers, GetDataBit, GetDataByte, GetDataQBit, GetDataUInt16, and GetDataUInt32, read a sample at an index from a pointer, and the matching SetDataBit, SetDataByte, SetDataQBit, SetDataUInt16, and SetDataUInt32 write one back. GetBPP reports the bits per pixel of an AnyBitmap, which tells you which converter and accessor width to use. Because the accessors take raw pointers, call them from an unsafe context and respect the buffer bounds yourself.

    int bpp = BitmapHelper.GetBPP(bitmap);
    uint rgba = BitmapHelper.EncodeAsRGBA(r, g, b, a);

    For everyday reading, prefer the high-level API: the color correction how-to and the image quality how-to tune the image, and the advanced reading configuration how-to covers deeper engine control.

    Methods

    ConvertArgb1555ToRGBA(UInt32)

    Declaration
    public static uint ConvertArgb1555ToRGBA(uint val)
    Parameters
    Type Name Description
    System.UInt32 val
    Returns
    Type Description
    System.UInt32

    ConvertRgb555ToRGBA(UInt32)

    Declaration
    public static uint ConvertRgb555ToRGBA(uint val)
    Parameters
    Type Name Description
    System.UInt32 val
    Returns
    Type Description
    System.UInt32

    ConvertRgb565ToRGBA(UInt32)

    Declaration
    public static uint ConvertRgb565ToRGBA(uint val)
    Parameters
    Type Name Description
    System.UInt32 val
    Returns
    Type Description
    System.UInt32

    EncodeAsRGBA(Byte, Byte, Byte, Byte)

    Declaration
    public static uint EncodeAsRGBA(byte red, byte green, byte blue, byte alpha)
    Parameters
    Type Name Description
    System.Byte red
    System.Byte green
    System.Byte blue
    System.Byte alpha
    Returns
    Type Description
    System.UInt32

    GetBPP(AnyBitmap)

    Declaration
    public static int GetBPP(AnyBitmap bitmap)
    Parameters
    Type Name Description
    IronSoftware.Drawing.AnyBitmap bitmap
    Returns
    Type Description
    System.Int32

    GetDataBit(Byte*, Int32)

    Declaration
    public static byte GetDataBit(byte *data, int index)
    Parameters
    Type Name Description
    System.Byte* data
    System.Int32 index
    Returns
    Type Description
    System.Byte

    GetDataByte(Byte*, Int32)

    Declaration
    public static byte GetDataByte(byte *data, int index)
    Parameters
    Type Name Description
    System.Byte* data
    System.Int32 index
    Returns
    Type Description
    System.Byte

    GetDataQBit(Byte*, Int32)

    Declaration
    public static byte GetDataQBit(byte *data, int index)
    Parameters
    Type Name Description
    System.Byte* data
    System.Int32 index
    Returns
    Type Description
    System.Byte

    GetDataUInt16(UInt16*, Int32)

    Declaration
    public static ushort GetDataUInt16(ushort *data, int index)
    Parameters
    Type Name Description
    System.UInt16* data
    System.Int32 index
    Returns
    Type Description
    System.UInt16

    GetDataUInt32(UInt32*, Int32)

    Declaration
    public static uint GetDataUInt32(uint *data, int index)
    Parameters
    Type Name Description
    System.UInt32* data
    System.Int32 index
    Returns
    Type Description
    System.UInt32

    SetDataBit(Byte*, Int32, Byte)

    Declaration
    public static void SetDataBit(byte *data, int index, byte value)
    Parameters
    Type Name Description
    System.Byte* data
    System.Int32 index
    System.Byte value

    SetDataByte(Byte*, Int32, Byte)

    Declaration
    public static void SetDataByte(byte *data, int index, byte value)
    Parameters
    Type Name Description
    System.Byte* data
    System.Int32 index
    System.Byte value

    SetDataQBit(Byte*, Int32, Byte)

    Declaration
    public static void SetDataQBit(byte *data, int index, byte value)
    Parameters
    Type Name Description
    System.Byte* data
    System.Int32 index
    System.Byte value

    SetDataUInt16(UInt16*, Int32, UInt16)

    Declaration
    public static void SetDataUInt16(ushort *data, int index, ushort value)
    Parameters
    Type Name Description
    System.UInt16* data
    System.Int32 index
    System.UInt16 value

    SetDataUInt32(UInt32*, Int32, UInt32)

    Declaration
    public static void SetDataUInt32(uint *data, int index, uint value)
    Parameters
    Type Name Description
    System.UInt32* data
    System.Int32 index
    System.UInt32 value
    ☀
    ☾
    Downloads
    • Download with Nuget
    • Start for Free
    In This Article
    Back to top
    Install with Nuget
    %s requires a valid license key for further deployment. Get Trial Below.
    ironsuite
    Blue key in circleGet Started for Free
    30 days full access • No credit card required
    Test in a live environment

    Test in production without watermarks.
    Works wherever you need it to.

    Fully-functional product

    Get 30 days of fully functional product.
    Have it up and running in minutes.

    24/5 technical support

    Full access to our support engineering team during your product trial

    Grey key in circleGet Started for Free
    The trial form was submitted successfully.
    Grey check in circleTrial key delivered
    Your key has been issued and sent to your email.
    Calendar in circleBook Free Live Demo
    No cards • no pitches • no commitments Pick a time for a quick, personalized demo
    Get the most out of your 30-day trial with:

    Live product and key features walk-through

    Project-specific recommendations

    All your questions answered

    Grey key in circleBook Free Live Demo
    Your booking has been completed Check your e-mail for confirmation

    Want to deploy Iron Suite
    to a live project for FREE?

    What’s included?

    • Test in production without watermarks
    • 30 days fully functional product
    • 24/5 technical support during trial
    ironpdf Logo
    ironword Logo
    ironxl Logo
    ironppt Logo
    ironocr Logo
    ironbarcode Logo
    ironqr Logo
    ironprint Logo
    ironzip Logo
    ironwebscraper Logo
    Iron Software sales team
    Online 24/5
    Have Enterprise licensing requirements?
    Request Iron Suite Enterprise trial
    Key in blue circle

    Get your free 30-day Trial Key instantly

    Your trial license will be sent to your email address

    No limitations. 100% unlocked. No credit card.

    bullet_checkedNo credit card or account creation requiredNo limitations. 100% unlocked. No credit card.
    Or
    Key in blue circle

    Complete Your Trial Key Signup

    Tell us a little more about yourself.

    Key in blue circleNo credit card or account creation requiredNo limitations. 100% unlocked. No credit card.
    Key in blue circle

    Your license key has been delivered to your inbox

    Can't find it? Check your spam folder.

    What’s next?
    Install with NuGet
    Add IronOCR to your project
    Quickstart Guide
    Helpful resources to get started

    Need help getting started?

    Book a Free Live Demo

    See IronOCR in action and get your licensing questions answered, or

    Key in blue circle

    Your demo request is in.

    You'll receive an invite via email shortly.

    What’s next?
    Explore Documentation
    Review Licensing Options
    badge_greencheck_in_yellowcircle
    Thank you
    Your trial key should be in the email.
    If it is not, please contact support@ironsoftware.com
    • Logo Aetna
    • Logo NASA
    • Logo GE
    • Logo Porsche
    • Logo USDA
    • Logo Qatar
    Join Millions of Engineers who’ve tried IronOCR
    Your trial key should be in the email.
    If it is not, please contact support@ironsoftware.com