我早些时候发布了此帖子,并将其标记为重复帖子。然后,我澄清了自己的文章,以表明建议的解决方案不适用于我的问题,因此鼓励我重新提交我的问题。但是,该帖子上的重复标志意味着我被忽略了,所以也许有人会看到它。
我正在尝试创建一个应用程序,该应用程序将对选定区域进行截图。它的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>