将视图转换为位图数据以另存为图像|本机脚本

时间:2018-12-22 06:31:47

标签: android nativescript nativescript-angular

方法1:

这是我的 ts代码

 let makeImage = ViewModule.getViewById("makeImage"); 
  makeImage.android.setDrawingCacheEnabled(true);

enter image description here

无法使用“ getViewById”获取视图。

查看代码:

<StackLayout id="makeImage">
                <Button text="Hi"></Button>
            </StackLayout>

方法2:

const view = application.android.foregroundActivity.getWindow().getDecorView().getRootView();
    view.setDrawingCacheEnabled(true);
    const bmp = android.graphics.Bitmap.createBitmap(view.getDrawingCache());
    let x = imageSourceModule.fromNativeSource(bmp);
    imageData = x.toBase64String("png");
    console.log(imageData);



 Result: Able to get the screenshot of whole page of parent. Not a mentioned section.

1 个答案:

答案 0 :(得分:0)

您可以尝试使用nativescript-screenshot插件,该插件在内部对于Android使用相同的方法,而在iOS中也具有相同的方法。

始终使用loaded事件访问本机视图(.andorid / .ios),以确保已创建该视图。

HTML

   <StackLayout (loaded)="onLoaded($event)">
      <Button text="Hi"></Button>
   </StackLayout>

TS

  onLoaded(event) {
      const imageSource = plugin.getImage(args.object);
  }