Help prepare for 2025 → Answer 8 simple questions on our Fall Survey
Open Survey
ImageSource
Encapsulates the common abstraction behind a platform specific object (typically a Bitmap) that is used as a source for images.

Summary

Constructors

constructor

new ImageSource(nativeSource?: any): ImageSource
Creates a new ImageSource instance and sets the provided native source object (typically a Bitmap). The native source object will update either the android or ios properties, depending on the target os.
Parameter Default Description
nativeSource
any

The native image object. Will be either a Bitmap for Android or a UIImage for iOS.

Returns ImageSource

Properties

android

android: any
The Android-specific [image](http://developer.android.com/reference/android/graphics/Bitmap.html) instance. Will be undefined when running on iOS.

height

height: number
Gets the height of this instance. This is a read-only property.

ios

ios: any
The iOS-specific [UIImage](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIImage_Class/) instance. Will be undefined when running on Android.

rotationAngle

rotationAngle: number
Gets or sets the rotation angle that should be applied to the image. (Used in android)

width

width: number
Gets the width of this instance. This is a read-only property.

Methods

fromAsset

fromAsset(asset: ImageAsset): Promise<ImageSource>
Parameter Default Description
asset

The ImageAsset instance used to create ImageSource.

Returns Promise<ImageSource>

fromBase64

fromBase64(source: string): Promise&lt;boolean&gt;
Parameter Default Description
source
string

The Base64 string to load the image from.

Returns Promise<boolean>

fromData

fromData(data: any): Promise&lt;boolean&gt;
Parameter Default Description
data
any

The native data (byte array) to load the image from. This will be either Stream for Android or NSData for iOS.

Returns Promise<boolean>

fromFile

fromFile(path: string): Promise&lt;boolean&gt;
Parameter Default Description
path
string

The location of the file on the file system.

Returns Promise<boolean>

fromResource

fromResource(name: string): Promise&lt;boolean&gt;
Parameter Default Description
name
string

The name of the resource (without its extension).

Returns Promise<boolean>

loadFromBase64

loadFromBase64(source: string): boolean
Parameter Default Description
source
string

The Base64 string to load the image from.

Returns boolean

loadFromData

loadFromData(data: any): boolean
Parameter Default Description
data
any

The native data (byte array) to load the image from. This will be either Stream for Android or NSData for iOS.

Returns boolean

loadFromFile

loadFromFile(path: string): boolean
Parameter Default Description
path
string

The location of the file on the file system.

Returns boolean

loadFromFontIconCode

loadFromFontIconCode(source: string, font: Font, color: Color): boolean
Parameter Default Description
source
string

The hex font icon code string

font

The font for the corresponding font icon code

color

The color of the generated icon image

Returns boolean

loadFromResource

loadFromResource(name: string): boolean
Parameter Default Description
name
string

The name of the resource (without its extension).

Returns boolean

resize

resize(maxSize: number, options?: any): ImageSource
Returns a new ImageSource that is a resized version of this image with the same aspect ratio, but the max dimension set to the provided maxSize.
Parameter Default Description
maxSize
number

The maximum pixel dimension of the resulting image.

options
any

Optional parameter, Only used for android, options.filter is a boolean which determines whether or not bilinear filtering should be used when scaling the bitmap. If this is true then bilinear filtering will be used when scaling which has better image quality at the cost of worse performance. If this is false then nearest-neighbor scaling is used instead which will have worse image quality but is faster. Recommended default is to set filter to 'true' as the cost of bilinear filtering is typically minimal and the improved image quality is significant.

Returns ImageSource

resizeAsync

resizeAsync(maxSize: number, options?: any): Promise<ImageSource>
Returns a new ImageSource that is a resized version of this image with the same aspect ratio, but the max dimension set to the provided maxSize asynchronously.
Parameter Default Description
maxSize
number

The maximum pixel dimension of the resulting image.

options
any

Optional parameter, Only used for android, options.filter is a boolean which determines whether or not bilinear filtering should be used when scaling the bitmap. If this is true then bilinear filtering will be used when scaling which has better image quality at the cost of worse performance. If this is false then nearest-neighbor scaling is used instead which will have worse image quality but is faster. Recommended default is to set filter to 'true' as the cost of bilinear filtering is typically minimal and the improved image quality is significant.

Returns Promise<ImageSource>

saveToFile

saveToFile(
  path: string,
  format: "png" | "jpeg" | "jpg",
  quality?: number
): boolean
Saves this instance to the specified file, using the provided image format and quality.
Parameter Default Description
path
string

The path of the file on the file system to save to.

format
"png" | "jpeg" | "jpg"

The format (encoding) of the image.

quality
number

Optional parameter, specifying the quality of the encoding. Defaults to the maximum available quality. Quality varies on a scale of 0 to 100.

Returns boolean

saveToFileAsync

saveToFileAsync(path: string, format: "png" | "jpeg" | "jpg", quality?: number): Promise&lt;boolean&gt;
Saves this instance to the specified file, using the provided image format and quality asynchronously.
Parameter Default Description
path
string

The path of the file on the file system to save to.

format
"png" | "jpeg" | "jpg"

The format (encoding) of the image.

quality
number

Optional parameter, specifying the quality of the encoding. Defaults to the maximum available quality. Quality varies on a scale of 0 to 100.

Returns Promise<boolean>

setNativeSource

setNativeSource(nativeSource: any): void
Sets the provided native source object (typically a Bitmap or a UIImage). This will update either the android or ios properties, depending on the target os.
Parameter Default Description
nativeSource
any

The native image object. Will be either a Bitmap for Android or a UIImage for iOS.

Returns void

toBase64String

toBase64String(format: "png" | "jpeg" | "jpg", quality?: number): string
Converts the image to base64 encoded string, using the provided image format and quality.
Parameter Default Description
format
"png" | "jpeg" | "jpg"

The format (encoding) of the image.

quality
number

Optional parameter, specifying the quality of the encoding. Defaults to the maximum available quality. Quality varies on a scale of 0 to 100.

Returns string

toBase64StringAsync

toBase64StringAsync(format: "png" | "jpeg" | "jpg", quality?: number): Promise&lt;string&gt;
Converts the image to base64 encoded string, using the provided image format and quality asynchronously.
Parameter Default Description
format
"png" | "jpeg" | "jpg"

The format (encoding) of the image.

quality
number

Optional parameter, specifying the quality of the encoding. Defaults to the maximum available quality. Quality varies on a scale of 0 to 100.

Returns Promise<string>

fromAsset

Static
fromAsset(asset: ImageAsset): Promise<ImageSource>
Loads this instance from the specified asset asynchronously.
Parameter Default Description
asset

The ImageAsset instance used to create ImageSource.

Returns Promise<ImageSource>

fromBase64

Static
fromBase64(source: string): Promise<ImageSource>
Loads this instance from the specified base64 encoded string asynchronously.
Parameter Default Description
source
string

The Base64 string to load the image from.

Returns Promise<ImageSource>

fromBase64Sync

Static
fromBase64Sync(source: string): ImageSource
Loads this instance from the specified base64 encoded string.
Parameter Default Description
source
string

The Base64 string to load the image from.

Returns ImageSource

fromData

Static
fromData(data: any): Promise<ImageSource>
Loads this instance from the specified native image data asynchronously.
Parameter Default Description
data
any

The native data (byte array) to load the image from. This will be either Stream for Android or NSData for iOS.

Returns Promise<ImageSource>

fromDataSync

Static
fromDataSync(data: any): ImageSource
Loads this instance from the specified native image data.
Parameter Default Description
data
any

The native data (byte array) to load the image from. This will be either Stream for Android or NSData for iOS.

Returns ImageSource

fromFile

Static
fromFile(path: string): Promise<ImageSource>
Loads this instance from the specified file asynchronously.
Parameter Default Description
path
string

The location of the file on the file system.

Returns Promise<ImageSource>

fromFileOrResourceSync

Static
fromFileOrResourceSync(path: string): ImageSource
Creates a new ImageSource instance and loads it from the specified local file or resource (if specified with the "res://" prefix).
Parameter Default Description
path
string

The location of the file on the file system.

Returns ImageSource

fromFileSync

Static
fromFileSync(path: string): ImageSource
Loads this instance from the specified file.
Parameter Default Description
path
string

The location of the file on the file system.

Returns ImageSource

fromFontIconCodeSync

Static
fromFontIconCodeSync(source: string, font: Font, color: Color): ImageSource
Creates a new ImageSource instance and loads it from the specified font icon code.
Parameter Default Description
source
string

The hex font icon code string

font

The font for the corresponding font icon code

color

The color of the generated icon image

Returns ImageSource

fromResource

Static
fromResource(name: string): Promise<ImageSource>
Loads this instance from the specified resource name asynchronously.
Parameter Default Description
name
string

The name of the resource (without its extension).

Returns Promise<ImageSource>

fromResourceSync

Static
fromResourceSync(name: string): ImageSource
Loads this instance from the specified resource name.
Parameter Default Description
name
string

The name of the resource (without its extension).

Returns ImageSource

fromUrl

Static
fromUrl(url: string): Promise<ImageSource>
Downloads the image from the provided Url and creates a new ImageSource instance from it.
Parameter Default Description
url
string

The link to the remote image object. This operation will download and decode the image.

Returns Promise<ImageSource>
Previous
ImageCache