Files
NativeScript/tns-core-modules/image-asset/image-asset.ios.ts
2016-10-03 17:23:18 +03:00

41 lines
1.3 KiB
TypeScript

import common = require("./image-asset-common");
global.moduleMerge(common, exports);
export class ImageAsset extends common.ImageAsset {
constructor(asset: PHAsset | UIImage) {
super();
if (asset instanceof UIImage) {
this.nativeImage = asset
}
else {
this.ios = asset;
}
}
public getImageAsync(callback: (image, error) => void) {
let requestedSize = common.getRequestedImageSize({
width: this.ios.pixelWidth,
height: this.ios.pixelHeight
});
let imageRequestOptions = PHImageRequestOptions.alloc().init();
imageRequestOptions.deliveryMode = PHImageRequestOptionsDeliveryMode.HighQualityFormat;
if (this.nativeImage) {
callback(this.nativeImage, null);
return;
}
PHImageManager.defaultManager().requestImageForAssetTargetSizeContentModeOptionsResultHandler(this.ios, requestedSize, PHImageContentMode.AspectFit, imageRequestOptions,
(image, imageResultInfo) => {
if (image) {
callback(image, null);
}
else {
callback(null, imageResultInfo.valueForKey(PHImageErrorKey));
}
}
);
}
}