栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android(十八):圆角图片

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android(十八):圆角图片

展示


源码


    

    
    





    
        
            
            
            
        
    

// 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);
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/319118.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号