android-屏幕截图显示黑色区域

时间:2019-07-15 22:09:10

标签: android

我早些时候发布了此帖子,并将其标记为重复帖子。然后,我澄清了自己的文章,以表明建议的解决方案不适用于我的问题,因此鼓励我重新提交我的问题。但是,该帖子上的重复标志意味着我被忽略了,所以也许有人会看到它。

我正在尝试创建一个应用程序,该应用程序将对选定区域进行截图。它的FrameLayout包含cameraView。我将在此布局上放置其他视图-我能提供的最好的示例是,就像飞行员在他的“正常”视力之上看到一个仪表读数一样。 我正在尝试拍摄cameraview的屏幕截图,并将多余的材料叠加在顶部。

我将“ cameraview”用作纹理视图,而不是表面视图(另一篇文章中建议的解决方案是“ surfaceview”)

但是,当我这样做时,放置在摄影机视图上的“额外”视图会显示在最终保存的图像上,但是即使我可以在应用程序中看到摄影机的输出,但摄影机“背景”本身也是黑色的当我保存图像时。 换句话说,除了具有前景素材的相机的背景之外,只有前景素材和黑色背景

有人可以帮忙吗?

这部分代码的布局XML是:

template<typename Data>
struct A {
    Data data;
    template<class ... Args>
    A(Args... args) : data(std::forward<Args>(args)...) { }
};

struct B {
    B() { }
};

struct C {
    B* foo;
    C(B* foo_) : foo(foo_) { }
};

int main() {
    B foo;
    A<C> thing = A<C>(&foo);
    std::cout << (thing.data.foo == &foo) << std::endl;
    return 0;
}

保存图像的代码是:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/frlayout"
    android:layout_weight="0.82"
    android:layout_width="match_parent"
        android:layout_height="0dp">
            <TextureView
            android:id="@+id/cameraView"
                android:background="@android:color/transparent"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
             />
    </FrameLayout>

0 个答案:

没有答案