Я сделал простое приложение для андроид устройств, который использует камеру мобильного, чтобы сделать снимок и сохранить его во внутренней папке хранения/шоссе/SDCard/DCIM/Camerizeman/Rerfreshing андроида Фотопленка в Unity3D
Фотографии сохраняются правильно, но проблема, с которой я сталкиваюсь, заключается в том, что я не вижу фотографии из галереи мобильного телефона. Я могу правильно их видеть, если я использую диспетчер файлов или перезагружаю устройство. Я ищу 10 дней, и проблема в том, что я должен обновить галерею после сохранения изображения.
Я не нашёл никакого рабочего решения.
мой код ниже:
RenderTexture renderTex;
Texture2D screenshot;
Texture2D LoadScreenshot;
int width = Screen.width; // for Taking Picture
int height = Screen.height; // for Taking Picture
string fileName;
string myScreenshotLocation;
string screenShotName = "MyImage_AR_" + System.DateTime.Now.ToString("yyyy-MM-dd-HHmmss") + ".png";
public void Snapshot()
{
StartCoroutine (CaptureScreen());
}
public IEnumerator CaptureScreen()
{
yield return null; // Wait till the last possible moment before screen rendering to hide the UI
//GameObject.FindGameObjectWithTag("Snapshoot").SetActive(false);
yield return new WaitForEndOfFrame(); // Wait for screen rendering to complete
if (Screen.orientation == ScreenOrientation.Portrait || Screen.orientation == ScreenOrientation.PortraitUpsideDown) {
mainCamera = Camera.main.GetComponent<Camera>(); // for Taking Picture
renderTex = new RenderTexture (width, height, 24);
mainCamera.targetTexture = renderTex;
RenderTexture.active = renderTex;
mainCamera.Render();
screenshot = new Texture2D (width, height, TextureFormat.RGB24, false);
screenshot.ReadPixels (new Rect (0, 0, width, height), 0, 0);
screenshot.Apply(); //false
RenderTexture.active = null;
mainCamera.targetTexture = null;
}
if (Screen.orientation == ScreenOrientation.LandscapeLeft || Screen.orientation == ScreenOrientation.LandscapeRight) {
mainCamera = Camera.main.GetComponent<Camera>(); // for Taking Picture
renderTex = new RenderTexture (height, width, 24);
mainCamera.targetTexture = renderTex;
RenderTexture.active = renderTex;
mainCamera.Render();
screenshot = new Texture2D (height, width, TextureFormat.RGB24, false);
screenshot.ReadPixels (new Rect (0, 0, height, width), 0, 0);
screenshot.Apply(); //false
RenderTexture.active = null;
mainCamera.targetTexture = null;
}
myScreenshotLocation = myFolderLocation + screenShotName;
File.WriteAllBytes (myFolderLocation + screenShotName, screenshot.EncodeToPNG());
}
Пожалуйста, помогите!
Конечно @Geri ... спасибо вам спасибо .. я буду appriciate вашей помощи! –
вы можете создать частный чат здесь, чтобы мы могли поговорить с Джери? –
.. :-(Мне нужно 20 репутации в чате ... любое письмо, чтобы отправить вам мой fb acc? –