【发布时间】:2020-06-09 19:47:20
【问题描述】:
我正在尝试创建一个应用来拍照,但问题是当我尝试将图片保存在应用的内部文件夹中时。有些图片很好,有些像这样损坏:
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);
}
}
}
对这个问题有什么想法吗?
【问题讨论】:
-
你收到错误信息了吗?
-
@LucasZhang-MSFT 实际上我没有收到错误,但有些图片保存已损坏。奇怪的是,如果我在保存图片的文件夹中手动搜索并出于某种原因将损坏图片的名称更改为其他名称图片没问题,我的意思是它看起来像其他没有黑屏或矩形的图片一样正常图片的一半。