mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
* Do not depend on current device screen while calculating Image Asset size. * Scale the image asset to the exact requested size. * Process image assets natively, pass keepAspectRatio based on the stretch property and Asset options. * Fixed the splashscreen resource name as it cannot be read when containing a dot. * Updated the Image Asset scale and rotate logic based on the Native one. * Make the ImageAsset size more important than the Image decode size as its more specific. * Fixed tslint errors. * Added filePath support in the ImageAsset constructor for iOS in order to unify it with the Android implementation, support for relative files and file not found support errors. * Added unit tests for ImageAssets. * Added a sample app for UI testing of image-view with ImageAsset src. * chore: apply PR comments
45 lines
1.2 KiB
TypeScript
45 lines
1.2 KiB
TypeScript
import * as dialogs from "tns-core-modules/ui/dialogs";
|
|
import * as observable from "tns-core-modules/data/observable";
|
|
import * as imageAssetModule from "tns-core-modules/image-asset";
|
|
import { ImageSource } from 'tns-core-modules/image-source';
|
|
|
|
let _cameraImageAsset = null;
|
|
let _cameraImageSrc = null;
|
|
|
|
export class ImageViewModel extends observable.Observable {
|
|
|
|
constructor() {
|
|
super();
|
|
let asset = new imageAssetModule.ImageAsset('~/splashscreen.png');
|
|
asset.options = {
|
|
width: 300,
|
|
height: 300,
|
|
keepAspectRatio: true
|
|
};
|
|
let source = new ImageSource();
|
|
source.fromAsset(asset).then((source) => {
|
|
this.set("cameraImageAsset", asset);
|
|
this.set("cameraImageSrc", source);
|
|
}, (error) => {
|
|
console.log(error);
|
|
});
|
|
}
|
|
|
|
get cameraImageAsset(): string {
|
|
return _cameraImageAsset;
|
|
}
|
|
|
|
set cameraImageAsset(value: string) {
|
|
_cameraImageAsset = value;
|
|
}
|
|
|
|
get cameraImageSrc(): string {
|
|
return _cameraImageSrc;
|
|
}
|
|
|
|
set cameraImageSrc(value: string) {
|
|
_cameraImageSrc = value;
|
|
}
|
|
}
|
|
export var imageViewModel = new ImageViewModel();
|