gdi
Functions for working with graphics. Most of them are wrappers for Gdi and GdiPlus methods.
Functions for working with graphics. Most of them are wrappers for Gdi and GdiPlus methods.
Brush(type, param1, param2, param3, param4)
Creates a drawing brush of the specified type. The meaning of the brush's input parameters depends on its type.
For type == BrushType.Solid:
- param1: brush colour in ARGB
For type == BrushType.LinearGradient:
- param1: start point coords of linear gradient in form of Array(2) (for ex.: [0, 0])
- param2: end point coords of linear gradient in form of Array(2) (for ex.: [100, 0])
- param3: gradient stops specified as an array with alternating position and color values for each stop (for ex.: [0.0, 0xFF000000, 0.5, 0xFFFF0000, 1.0, 0xFFFFFFFF])
- param4: wrap mode responsible for how the gradient is repeated when drawing. See BrushWrapMode. Default is BrushWrapMode.Tile
For type == BrushType.RadialGradient:
- param1: center point coords of radial gradient in form of Array(2) (for ex.: [50, 50])
- param2: radius values for X and Y axes in form of Array(2) (for ex.: [50, 50])
- param3: gradient stops specified as an array with alternating position and color values for each stop (for ex.: [0.0, 0xFF000000, 0.5, 0xFFFF0000, 1.0, 0xFFFFFFFF])
- param4: wrap mode responsible for how the gradient is repeated when drawing. See BrushWrapMode. Default is BrushWrapMode.Tile
For type == BrushType.Bitmap:
- param1: GdiBitmap object used for drawing by brush
- param2: wrap mode responsible for how the image is repeated when drawing. See BrushWrapMode
| Name | Type | Description |
|---|---|---|
type | BrushType | |
param1 | * | |
param2 = undefinedoptional | * | |
param3 = undefinedoptional | * | |
param4 = undefinedoptional | * |
GdiBrush — Brush object used in Draw/Fill methods
CreateImage(w, h)
| Name | Type | Description |
|---|---|---|
w | number | |
h | number |
CreateImageFromPixelData(pixelData, width, height, format = "bgra32")
Create GdiBitmap from raw pixel data in memory.
| Name | Type | Description |
|---|---|---|
pixelData | Uint8Array | Raw pixel bytes |
width | number | Image width in pixels |
height | number | Image height in pixels |
format = "bgra32"optional | string | Pixel format string (default: "bgra32") Supported formats: |
GdiBitmap — null if was an error (for example pixelData array length is not suitable for the specified parameters)
Font(name, size_px, style)
Performance note: avoid using inside on_paint.
Performance note II: try caching and reusing GdiFont objects, since the maximum amount of such objects is hard-limited by Windows. GdiFont creation will fail after reaching this limit.
| Name | Type | Description |
|---|---|---|
name | string | |
size_px | number | See Point2Pixel function for conversions |
style = 0optional | number | See FontStyle flags |
?GdiFont — null, if font is not present.
Image(path)
Load image from file.
Performance note: consider using gdi.LoadImageAsync or gdi.LoadImageAsyncV2 if there are a lot of images to load or if the image is big.
| Name | Type | Description |
|---|---|---|
path | string |
?GdiBitmap — null, if image failed to load.
let img = gdi.Image('e:\\images folder\\my_image.png');
LoadImageAsync(window_id, path)
Load image from file asynchronously.
| Name | Type | Description |
|---|---|---|
window_id | number | unused |
path | string |
number — a unique id, which is used in on_load_image_done.
LoadImageAsyncV2(window_id, path)
Load image from file asynchronously. Returns a Promise object, which will be resolved when image loading is done.
| Name | Type | Description |
|---|---|---|
window_id | number | unused |
path | string |
Promise.<?GdiBitmap>LoadSVG(path_or_xml, max_width)
Loads rasterized image from SVG file or XML string
| Name | Type | Description |
|---|---|---|
path_or_xml | string | string containing SVG file path or raw XML |
max_width = 0optional | number | If specified rasterizes with width = max_width and height according to the proportions, otherwise uses "width" and "height" attributes in SVG header if exist |
?GdiBitmap — Rasterized bitmap, null in case of error
const svg_file = fb.ComponentPath + 'samples\\svg\\android.svg';
const original = gdi.LoadSVG(svg_file);
const large = gdi.LoadSVG(svg_file, 512); // set optional max_width
function on_paint(gr) {
gr.DrawImage(original, 0, 0, original.Width, original.Height, 0, 0, original.Width, original.Height);
gr.DrawImage(large, original.Width, 0, large.Width, large.Height, 0, 0, large.Width, large.Height);
}