0
我在android中製作示波器。到目前爲止,我已經創建了基軸,每次程序啓動時都會繪製該軸。現在,我想通過在第一次創建軸畫布後保存軸畫布,使性能更好一些。我的想法是這樣的畫布保存爲位圖和調出下一個時代:保存一個畫布以便以後重新使用它
public class ScopeCanvas : View
{
private Context _context;
public double TimeBase { get; set; }
public double VoltagePerDiv { get; set; }
private Canvas _axisCanvas;
private Bitmap _savedAxisCanvas;
/// <summary>
/// Constructor
/// </summary>
/// <param name="context">Context</param>
public ScopeCanvas(Context context, double timeBase, double voltagePerDiv) : base(context)
{
_context = context;
TimeBase = timeBase;
VoltagePerDiv = voltagePerDiv;
}
protected override void OnDraw(Canvas canvas)
{
base.OnDraw(canvas);
if(_axisCanvas == null)
{
_axisCanvas = CreateAxis(canvas);
#if DEBUG
Console.WriteLine("Axis canvas newly created!");
#endif
}
else
{
#if DEBUG
Console.WriteLine("Using pre made axis canvas!");
#endif
}
}
}
能有人爲pleae告訴我怎樣才能挽救這個帆布和後來回憶呢?我的意思是在OnDraw
事件!
P.S:CreateAxis(canvas)
是我畫軸的方法。這是它的外觀:
因爲我不想硬編碼的電壓和時間基底部分之間的固定距離,這需要被動態地(resoloution獨立的),使用像ExactCenterY和繪製ATLEAST它創建的第一次etc ...
是的,我確實想在稍後的畫布上重繪波形。你能提供一些代碼嗎?我不知道我必須使用什麼和失效,也不知道如何保存我製作的軸。 –