mirror of
				https://github.com/NativeScript/NativeScript.git
				synced 2025-11-04 12:58:38 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { ImageAssetBase, getRequestedImageSize } from './image-asset-common';
 | 
						|
import { path as fsPath, knownFolders } from '../file-system';
 | 
						|
import { ad } from '../utils';
 | 
						|
import { Screen } from '../platform';
 | 
						|
export * from './image-asset-common';
 | 
						|
 | 
						|
export class ImageAsset extends ImageAssetBase {
 | 
						|
	private _android: string; //file name of the image
 | 
						|
 | 
						|
	constructor(asset: string) {
 | 
						|
		super();
 | 
						|
		let fileName = typeof asset === 'string' ? asset.trim() : '';
 | 
						|
		if (fileName.indexOf('~/') === 0) {
 | 
						|
			fileName = fsPath.join(knownFolders.currentApp().path, fileName.replace('~/', ''));
 | 
						|
		}
 | 
						|
		this.android = fileName;
 | 
						|
	}
 | 
						|
 | 
						|
	// @ts-ignore
 | 
						|
	get android(): string {
 | 
						|
		return this._android;
 | 
						|
	}
 | 
						|
 | 
						|
	set android(value: string) {
 | 
						|
		this._android = value;
 | 
						|
	}
 | 
						|
 | 
						|
	public getImageAsync(callback: (image, error) => void) {
 | 
						|
		org.nativescript.widgets.Utils.loadImageAsync(
 | 
						|
			ad.getApplicationContext(),
 | 
						|
			this.android,
 | 
						|
			JSON.stringify(this.options || {}),
 | 
						|
			Screen.mainScreen.widthPixels,
 | 
						|
			Screen.mainScreen.heightPixels,
 | 
						|
			new org.nativescript.widgets.Utils.AsyncImageCallback({
 | 
						|
				onSuccess(bitmap) {
 | 
						|
					callback(bitmap, null);
 | 
						|
				},
 | 
						|
				onError(ex) {
 | 
						|
					callback(null, ex);
 | 
						|
				},
 | 
						|
			})
 | 
						|
		);
 | 
						|
	}
 | 
						|
}
 |