0

ビットマップを作成しようとしていますが、savedUri と imagePath しかありません。写真の写真の実際のプロパティとログに記録されたパスを見ると、それらは同じであるため、imagePathを正しく取得していると思います。ビットマップを作成する方法に問題があると思います。私が使用するコードは次のとおりです。

if (_bitmap == null)

{
    string imagePath = null;
    try
    {
        imagePath = GetRealPathFromURI(_saveUri);
        LogManager.Info("********the image path is", imagePath);
    }
    catch
    {
        imagePath = _saveUri.Path;
    }

    // First decode with inJustDecodeBounds=true to check dimensions
    BitmapFactory.Options options = new BitmapFactory.Options();
    options.InJustDecodeBounds = true;
    BitmapFactory.DecodeFile(imagePath, options);
    var width = (int)Math.Round(_outputX * 0.5);
    var heigth = (int)Math.Round(_outputY * 0.5);
    options.InSampleSize = BitmapTools.CalculateInSampleSize(options, width, width * heigth);
    options.InJustDecodeBounds = false;
    options.InDensity = 160;

    try
    {
        _bitmap = BitmapFactory.DecodeFile(imagePath, options);
    }
    catch
    {
        GC.Collect();
        _bitmap = BitmapFactory.DecodeFile(imagePath, options);
    }
}
if (_bitmap == null)
   LogManager.Info("********the bitmap width is:  ", "well bloody hell the bitmap is null");
else
   LogManager.Info("********the bitmap width is:  ", _bitmap.Width.ToString());

最後の 2 行では、ビットマップが null になることはありませんが、幅は常に 1 で、表示すると画像がありません。これは、モノドロイドで画像を作成、表示、保存するためのものですが、この質問にはあまり関係ありません。

4

0 に答える 0