C# 将位图保存到图片文件夹(Xamarin Android)

C# 将位图保存到图片文件夹(Xamarin Android),c#,android,xamarin,bitmap,xamarin.android,C#,Android,Xamarin,Bitmap,Xamarin.android,我有Xamarin Android应用程序 我试着像位图一样保存线性布局。这是代码 public void Save() { LinearLayout view = FindViewById<LinearLayout>(Resource.Id.badge); view.DrawingCacheEnabled = true; view.BuildDrawingCache(); Bitmap layout = v

我有Xamarin Android应用程序

我试着像位图一样保存线性布局。这是代码

 public void Save()
    {
        LinearLayout view = FindViewById<LinearLayout>(Resource.Id.badge);

        view.DrawingCacheEnabled = true;
        view.BuildDrawingCache();
        Bitmap layout = view.GetDrawingCache(true);

    }
public void Save()
{
LinearLayout视图=FindViewById(Resource.Id.badge);
view.drawingcachenabled=true;
view.BuildDrawingCache();
位图布局=view.GetDrawingCache(true);
}

我需要把它保存到图片文件夹。我怎么能做到这一点呢?

他解释了用c#在存储卡中将位图保存为png的方法。我希望了解你的问题是正确的

“这是一种仅使用C#stuff将位图作为PNG文件导出到sd卡的简单方法”


他解释了用c#在存储卡中将位图保存为png的方法。我希望了解你的问题是正确的

“这是一种仅使用C#stuff将位图作为PNG文件导出到sd卡的简单方法”


您可以使用
画布
通过以下代码绘制
视图

    public Bitmap createViewBitmap(View v)
    {
        Bitmap bitmap = Bitmap.CreateBitmap(v.Width, v.Height,
                Bitmap.Config.Argb8888);
        Canvas canvas = new Canvas(bitmap);
        v.Draw(canvas);
        return bitmap;
    }
线性布局是一种视图。因此,您可以创建线性布局位图:

 View v = FindViewById<LinearLayout>(Resource.Id.myLinearLayout);
 Bitmap myBitMap = createViewBitmap(v);


有关更多代码信息,请参阅my。

您可以使用
画布
通过以下代码绘制
视图

    public Bitmap createViewBitmap(View v)
    {
        Bitmap bitmap = Bitmap.CreateBitmap(v.Width, v.Height,
                Bitmap.Config.Argb8888);
        Canvas canvas = new Canvas(bitmap);
        v.Draw(canvas);
        return bitmap;
    }
线性布局是一种视图。因此,您可以创建线性布局位图:

 View v = FindViewById<LinearLayout>(Resource.Id.myLinearLayout);
 Bitmap myBitMap = createViewBitmap(v);


有关更多代码信息,请参阅my。

您的代码很棒,我有一个简单的问题,我有一个错误
Java.Lang.IllegalArgumentException:宽度和高度必须大于0
您可以在
OnCreate
中调用
createViewBitmap(v)
。此视图未完成绘制。在我的演示中,我在单击事件中调用了该函数。参考答案可能有助于您理解。您的代码很棒,我有一个简单的问题,我有一个错误
Java.Lang.IllegalArgumentException:宽度和高度必须>0
您可以在
OnCreate
中调用
createViewBitmap(v)
。此视图未完成绘制。在我的演示中,我调用了click事件中的函数。参考答案可能有助于您理解。