如何从ImageView中删除当前位图图像

时间:2016-11-04 19:22:52

标签: android xamarin bitmap imageview

我有一种方法可以绘制位图图像,然后将其覆盖在相机预览上。此方法会在屏幕更改大小时重新绘制图像,以确保覆盖始终正确定位。我的问题是我无法从ImageView中删除以前的位图,后续的位图只是添加到以前的位图之上。我已经调试以确保正在绘制的位图不包含先前的位图,因此似乎只有一个位于其他位图之上。我究竟做错了什么?感谢。

    void ViewSizeChangeWatcherSizeChanged(object sender, ViewSizeChangeMonitor.SizeChangedEventArgs e)
    {
        HintImageView.SetImageBitmap(null); // does not work
        HintImageView.SetImageDrawable(null); // does not work
        HintImageView.SetImageResource(0); // does not work 
        HintImageView.SetImageResource(Android.Resource.Color.Transparent); // does not work

        var bitmap = Utility.DrawHintForFaceFront(Math.Min(e.Width, e.Height), Color.ParseColor("#64FFFFFF"), Resources.DisplayMetrics.Density);
        HintImageView.SetImageBitmap(bitmap);
        HintImageView.BringToFront();
    }

1 个答案:

答案 0 :(得分:0)

致电HintImageView.SetImageDrawable(null); onStop()&

var bitmap = Utility.DrawHintForFaceFront(Math.Min(e.Width, e.Height), Color.ParseColor("#64FFFFFF"), Resources.DisplayMetrics.Density);
        HintImageView.SetImageBitmap(bitmap);
        HintImageView.BringToFront();

在onStart()

中调用这部分代码