// scripts/CircleImage1.cs
using Android.Content;
using Android.Graphics;
using Android.Util;
using Android.Views;
using Android.Widget;
namespace android_by_csharp.scripts
{
public sealed class CircleImage1 : ImageView
{
public CircleImage1(Context context, IAttributeSet attrs) : base(context, attrs)
{
SetLayerType(LayerType.Hardware, null);
}
protected override void OnDraw(Canvas canvas)
{
base.OnDraw(canvas);
var paint = new Paint();
paint.Color = Color.Rgb(231, 76, 60);
canvas?.DrawCircle(Width / 2, Height / 2, Width / 3, paint);
paint.SetXfermode(new PorterDuffXfermode(PorterDuff.Mode.SrcIn));
var bitmapImage = BitmapFactory.DecodeResource(Resources, Resource.Drawable.bg);
var rect = new Rect();
if (bitmapImage != null)
{
rect.Set(0, 0, Width, Width * bitmapImage.Height / bitmapImage.Width);
canvas?.DrawBitmap(bitmapImage, null, rect, paint);
}
paint.SetXfermode(null);
}
}
}
// scripts/CircleImage2.cs
using Android.Content;
using Android.Graphics;
using Android.Util;
using Android.Views;
using Android.Widget;
namespace android_by_csharp.scripts
{
public sealed class CircleImage2 : ImageView
{
public CircleImage2(Context context, IAttributeSet attrs) : base(context, attrs)
{
SetLayerType(LayerType.Hardware, null);
}
protected override void OnDraw(Canvas canvas)
{
base.OnDraw(canvas);
var paint = new Paint();
paint.SetXfermode(new PorterDuffXfermode(PorterDuff.Mode.SrcIn));
var bitmapImage = BitmapFactory.DecodeResource(Resources, Resource.Drawable.bg);
var rect = new Rect();
if (bitmapImage != null)
{
rect.Set(0, 0, Width, Width * bitmapImage.Height / bitmapImage.Width);
canvas?.DrawBitmap(bitmapImage, null, rect, paint);
}
paint.SetXfermode(null);
}
}
}



