# FreeType-2.3.4 API Reference

# Bitmap Handling

## Synopsis

| FT_Bitmap_New |  | FT_Bitmap_Embolden |  | FT_Bitmap_Done
| FT_Bitmap_Copy |  | FT_Bitmap_Convert |  |

This section contains functions for converting FT_Bitmap objects.

#### FT_Bitmap_New
      FT_EXPORT( void )
      FT_Bitmap_New( FT_Bitmap  *abitmap );
Initialize a pointer to an FT_Bitmap structure.
inout
abitmap | A pointer to the bitmap structure.

[Index] |  | [TOC]

#### FT_Bitmap_Copy
      FT_EXPORT( FT_Error )
      FT_Bitmap_Copy( FT_Library        library,
                      const FT_Bitmap  *source,
                      FT_Bitmap        *target);
Copies an bitmap into another one.
input
library | A handle to a library object.
source | A handle to the source bitmap.
output
target | A handle to the target bitmap.
return
FreeType error code. 0 means success.

[Index] |  | [TOC]

#### FT_Bitmap_Embolden
      FT_EXPORT( FT_Error )
      FT_Bitmap_Embolden( FT_Library  library,
                          FT_Bitmap*  bitmap,
                          FT_Pos      xStrength,
                          FT_Pos      yStrength );
Embolden a bitmap. The new bitmap will be about ‘xStrength’ pixels wider and ‘yStrength’ pixels higher. The left and bottom borders are kept unchanged.
input
library | A handle to a library object.
xStrength | How strong the glyph is emboldened horizontally. Expressed in 26.6 pixel format.
yStrength | How strong the glyph is emboldened vertically. Expressed in 26.6 pixel format.
inout
bitmap | A handle to the target bitmap.
return
FreeType error code. 0 means success.
note
The current implementation restricts ‘xStrength’ to be less than or equal to 8 if bitmap is of pixel_mode FT_PIXEL_MODE_MONO. If you want to embolden the bitmap owned by a FT_GlyphSlotRec, you should call ‘FT_GlyphSlot_Own_Bitmap’ on the slot first.

[Index] |  | [TOC]

#### FT_Bitmap_Convert
      FT_EXPORT( FT_Error )
      FT_Bitmap_Convert( FT_Library        library,
                         const FT_Bitmap  *source,
                         FT_Bitmap        *target,
                         FT_Int            alignment );
Convert a bitmap object with depth 1bpp, 2bpp, 4bpp, or 8bpp to a bitmap object with depth 8bpp, making the number of used bytes per line (a.k.a. the ‘pitch’) a multiple of ‘alignment’.
input
library | A handle to a library object.
source | The source bitmap.
alignment | The pitch of the bitmap is a multiple of this parameter. Common values are 1, 2, or 4.
output
target | The target bitmap.
return
FreeType error code. 0 means success.
note
It is possible to call FT_Bitmap_Convert multiple times without calling FT_Bitmap_Done (the memory is simply reallocated). Use FT_Bitmap_Done to finally remove the bitmap object. The ‘library’ argument is taken to have access to FreeType's memory handling functions.

[Index] |  | [TOC]

#### FT_Bitmap_Done
      FT_EXPORT( FT_Error )
      FT_Bitmap_Done( FT_Library  library,
                      FT_Bitmap  *bitmap );
Destroy a bitmap object created with FT_Bitmap_New.
input
library | A handle to a library object.
bitmap | The bitmap object to be freed.
return
FreeType error code. 0 means success.
note
The ‘library’ argument is taken to have access to FreeType's memory handling functions.

[Index] |  | [TOC]