Nativescript:黑色 space 而不是照片缩略图
Nativescript: Black space instead photo thumbnails
请帮忙,我正在做一个用相机拍摄的照片的缩略图并用base64编码。
Javascript:
class Entry {
get thumbnail() {
return (this._thumbnail || null);
}
set thumbnail(value) {
let scaledImage = false;
if (value) {
if (value.android) {
const aspectSafeSize = common.getAspectSafeDimensions(value.width, value.height, config.thumbWidth, config.thumbHeight);
scaledImage = android.graphics.Bitmap.createScaledBitmap(value.android, aspectSafeSize.width, aspectSafeSize.height, true);
}
if (value.ios) {
const cgSize = CGSizeMake(config.thumbWidth, config.thumbHeight);
UIGraphicsBeginImageContextWithOptions(cgSize, false, 0.0);
value.ios.drawInRect(CGRectMake(0, 0, config.thumbWidth, config.thumbHeight));
scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
}
if (scaledImage) {
const scaledImageSource = new ImageSourceModule.ImageSource();
scaledImageSource.setNativeSource(scaledImage);
const t = 'data:image/png;base64,' + scaledImageSource.toBase64String('png',100);
this._thumbnail = t;
}
}
}
在XML中:
<Image top="0" left="0" src="{{ thumbnail }}" stretch="aspectFill" visibility="{{ thumbnail ? 'visible' : 'collapsed' }}"/>
但只显示黑色space:screenshot。
而且,如果得到编码后的数据并尝试对其进行解码,我们得到的是一张正常的图片
如果您为 任何 父元素设置了 CSS 属性 颜色:
this is documented bug 在 NativeScript 2.3.0 中,计划在下一版本 (2.4.0) 中修复。如果你现在想使用下一个版本,你可以通过以下步骤完成:
tns plugin remove tns-core-modules
tns plugin add tns-core-modules@next
现在您将拥有已应用修复程序的最新模块。
请帮忙,我正在做一个用相机拍摄的照片的缩略图并用base64编码。
Javascript:
class Entry {
get thumbnail() {
return (this._thumbnail || null);
}
set thumbnail(value) {
let scaledImage = false;
if (value) {
if (value.android) {
const aspectSafeSize = common.getAspectSafeDimensions(value.width, value.height, config.thumbWidth, config.thumbHeight);
scaledImage = android.graphics.Bitmap.createScaledBitmap(value.android, aspectSafeSize.width, aspectSafeSize.height, true);
}
if (value.ios) {
const cgSize = CGSizeMake(config.thumbWidth, config.thumbHeight);
UIGraphicsBeginImageContextWithOptions(cgSize, false, 0.0);
value.ios.drawInRect(CGRectMake(0, 0, config.thumbWidth, config.thumbHeight));
scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
}
if (scaledImage) {
const scaledImageSource = new ImageSourceModule.ImageSource();
scaledImageSource.setNativeSource(scaledImage);
const t = 'data:image/png;base64,' + scaledImageSource.toBase64String('png',100);
this._thumbnail = t;
}
}
}
在XML中:
<Image top="0" left="0" src="{{ thumbnail }}" stretch="aspectFill" visibility="{{ thumbnail ? 'visible' : 'collapsed' }}"/>
但只显示黑色space:screenshot。 而且,如果得到编码后的数据并尝试对其进行解码,我们得到的是一张正常的图片
如果您为 任何 父元素设置了 CSS 属性 颜色: this is documented bug 在 NativeScript 2.3.0 中,计划在下一版本 (2.4.0) 中修复。如果你现在想使用下一个版本,你可以通过以下步骤完成:
tns plugin remove tns-core-modules
tns plugin add tns-core-modules@next
现在您将拥有已应用修复程序的最新模块。