Я пытаюсь создать приложение для съемки фотографий, проблема заключается в том, что я пытаюсь сохранить изображение во внутренней папке приложения. Некоторые изображения хороши, а другие испорчены следующим образом:
https://i.stack.imgur.com/8M81x.jpg
https://i.stack.imgur.com/McIa4.jpg
Первые имеют ошибка / секунда в порядке
И это мой код, который я использую:
class CameraPictureCallback : Java.Lang.Object, Camera.IPictureCallback
{
const string APP_NAME = "CameraApp";
Context _context;
public CameraPictureCallback(Context context)
{
_context = context;
}
public void OnPictureTaken(byte[] data, Camera camera)
{
var dir = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryPictures) + "/XFRecognition";
try
{
Toast.MakeText(_context, "test click", ToastLength.Short).Show();
string fileName = "test.jpg";
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
using (var fileOutputStream = new FileOutputStream(System.IO.Path.Combine(dir,fileName)))
{
fileOutputStream.Write(data);
}
camera.StartPreview();
}
catch (System.Exception e)
{
Log.Debug(APP_NAME, "File not found: " + e.Message);
}
}
}
Есть идеи для проблемы?