gpt4 book ai didi

android - 缩小照片尺寸

转载 作者:行者123 更新时间:2023-11-29 02:39:55 29 4
gpt4 key购买 nike

我正在将我的应用程序拍摄的照片记录在 sqlite 数据库中,我知道不再推荐这样做了,我需要将这些照片传输到统一所有应用程序的所有数据的中央数据库。

我减少和写入 sqlite bank 的方式是这样的:

 Android.Graphics.Drawables.BitmapDrawable bd = (Android.Graphics.Drawables.BitmapDrawable)imageView.Drawable;
Bitmap bitmap = bd.Bitmap;
MemoryStream stream = new MemoryStream();
bitmap.Compress(Bitmap.CompressFormat.Jpeg, 100, stream);
byte[] ba = stream.ToArray();
string bal = Base64.EncodeToString(ba, Base64.Default);

就我个人而言,我正在编辑我的问题,因为问题并不像我想象的那样出现在选择中,而是出现在写入数据库时​​。在设备上搜索照片或图像时,上面的代码效果很好。问题是当它为应用程序拍摄照片时,出现以下错误。

我想我需要压缩 App.bitmap,它可以立即拍摄。我只是不知道该怎么做。正如我所说,上面的代码对设备拍摄的照片效果很好,但是当我通过我的应用程序拍摄时,我得到了这个错误。

我将发布我的 OnActivityResult 方法,以便您可以帮助我找出这个错误是什么。

错误:

Java.Lang.IllegalStateException: Couldn't read row 0, col 0 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.

在互联网上搜索返回此错误是因为光标的大小最大为 2MB。

OnActivityResult 方法:

  protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);

// Make it available in the gallery
try
{
Intent mediaScanIntent = new Intent(Intent.ActionMediaScannerScanFile);
Uri contentUri = Uri.FromFile(App._file);
mediaScanIntent.SetData(contentUri);
SendBroadcast(mediaScanIntent);

// Display in ImageView. We will resize the bitmap to fit the display.
// Loading the full sized image will consume to much memory
// and cause the application to crash.

int height = Resources.DisplayMetrics.HeightPixels;
int width = imageView.Height;
App.bitmap = App._file.Path.LoadAndResizeBitmap(width, height);
if (App.bitmap != null)
{
imageView.SetImageBitmap(App.bitmap);

// App.bitmap = null;
}

// Dispose of the Java side bitmap.
GC.Collect();

}
catch
{
}
try
{
if (resultCode == Result.Ok)
{
var imageView =
FindViewById<ImageView>(Resource.Id.imageView1);
imageView.SetImageURI(data.Data);



}
}
catch
{

}

}

在没有获取照片的情况下,选择不会返回上面引用的错误。我指望你的帮助。

最佳答案

关于android - 缩小照片尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44958611/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com