C# 将位图保存到图片文件夹(Xamarin Android)
我有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
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事件中的函数。参考答案可能有助于您理解。