我正在尝试将GameObject(MainCamera)保存为图像。这是我的代码。
// Kotlin
activity.intent?.extras?.getBundle(KEY_BUNDLE_ID)
// Java
getActivity().getIntent().getBundleExtra(KEY_BUNDLE_ID)
问题是上述代码根本没有生成图像。我想念什么吗?以前,我尝试使用Camera camOV = mainCamera.GetComponent<Camera>();
RenderTexture currentRT = RenderTexture.active;
RenderTexture.active = camOV.targetTexture;
camOV.Render();
Texture2D imageOverview = new Texture2D(camOV.targetTexture.width, camOV.targetTexture.height, TextureFormat.RGB24, false);
imageOverview.ReadPixels(new UnityEngine.Rect(0, 0, camOV.targetTexture.width, camOV.targetTexture.height), 0, 0);
imageOverview.Apply();
RenderTexture.active = currentRT;
// Encode texture into PNG
byte[] bytes = imageOverview.EncodeToPNG();
string name = string.Format("{0}_Capture{1}_{2}.png", Application.productName, "{0}",System.DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss"));
Debug.Log("Permission result: " +
NativeGallery.SaveImageToGallery(imageOverview, Application.productName + " Captures", name));
截屏。但是,它可以工作的图像大于实际尺寸。我如何能够解决它?