Android之画一个圆角图形

Android自定义图形图像,可实现圆角背景 简介 手机应用程序开发,用户体验是极其重要的,他的重要性甚至要高于手机应用软件的功能。很多情况下使用圆角矩形作为视图的背景,能给用户带来极佳的视觉体验,Android中圆角矩形可以通过shape标记来实现。 原理 Android中的所有资源图像都放在res/drawable目录下,然后以R.drawable.xxx形式引用。图形定义也类似,需要在drawable目录下创建自定义xml文件,根 阅读详情

最近在看OpenCamera的源码,表示受益很深,项目地址:https://github.com/almalence/OpenCamera

画一个圆角的图,使用PorterDuff.Mode的属性,话不多说,直接上代码


/**
     *  方形圆角图片
     *
     * @param bitmap       图片
     * @param size         要显示的大小,如果需要截图从中心截图
     * @param borderRadius 圆角弧度 到一定值就为圆了
     * @param color        图片边缘颜色
     * @param borderWidth  图片边缘宽度
     * @return
     */
    private Bitmap getRoundedCornerBitmap(Bitmap bitmap, int size, int borderRadius, @ColorInt int color, int borderWidth) {
        final int side = Math.min(bitmap.getWidth(), bitmap.getHeight());

        final Bitmap bitmapCropped = Bitmap.createBitmap(bitmap, (bitmap.getWidth() - side) / 2,
                (bitmap.getHeight() - side) / 2, side, side);

        final Bitmap output = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);

        Canvas canvas = new Canvas(output);

        final Paint paint = new Paint();
        final Rect rectSrc = new Rect(0, 0, bitmapCropped.getWidth(), bitmapCropped.getHeight());
        final Rect rect = new Rect(borderWidth, borderWidth, output.getWidth() - borderWidth, output.getHeight() - borderWidth);
        final RectF rectF = new RectF(rect);
        final RectF rectFBorder = new RectF(0, 0, output.getWidth(), output.getHeight());
        final float roundPx = borderRadius;

        paint.setAntiAlias(true);
        canvas.drawARGB(0, 0, 0, 0);
        paint.setColor(color);
        canvas.drawRoundRect(rectF, roundPx, roundPx, paint);

        paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));//取两层绘制交集,显示上层
        // 第一个Rect 代表要绘制的bitmap 区域,第二个 Rect 代表的是要将bitmap 绘制在屏幕的什么地方
        canvas.drawBitmap(bitmapCropped, rectSrc, rect, paint);

        paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_ATOP));//取下层非交集部分与上层交集部分
        canvas.drawRoundRect(rectFBorder, roundPx, roundPx, paint);

        return output;
    }


Android圆角图片最佳方案 关于“Android圆角图片”,网上可以搜索到大把代码示例。而这些示例千篇一律过于单一,且对内存性能没有进行较好分析本文将总结网上流行的几种圆角图片方案,进行性能与内存的分析,并得出最佳方案。(PS:本人初出江湖,高手勿喷)。 基础脑补: 位图:256位对比32位,存储信息量大但是占用内存也大, 图像质量较高。 ARGB:A=Alpha, R=Red, G=Green,B=Blue ARG 阅读详情

相关推荐

UE4_UE5 自定义简单水材质(UE材质图表大全1)

首先是材质的颜色节点、粗糙度节点、透明度节点。(1/2/3/4键+右键空白处,可创建一/二/三/四维节点)接着是两个法线波动节点的叠加。最后是折射节点,将fresnel菲涅尔节点连接到材质结果节点的折射输入端。到这里,你基本已经实现了一个波纹流动的水材质。后续我会更新加上海面浪花的水面材质,可以到我的专栏中寻找。有问题随时私信沟通,加油❤。

shanlinhan的博客 1985

Android 圆角边框RoundRect原理

绘制圆角矩形的方法 /** * Draw the specified round-rect using the specified paint. The roundrect will be filled or * framed based on the Style in the paint. * * @param rect The rectangul...

JaydenHo的专栏 4146

【库卡机器人】接线步骤

准备X11插头接线,X11插头可以接入机器人外部安全回路接线,其中外部使能信号线也接在此接口上,如果机器人系统没有配置外部使能装置,那个此接口上的外部使能信号端须短接,短接规则为:20-21、23-22、31-30、33-32。持续按住使能键,保持使能上电状态,分别按住示教器右侧每个轴对应的+或-按键,测试机器人每一个轴是否能正常运行,如果一切正常,说明机器人控制正常,机器人可以正常使用。将一根黄绿色等电位线接入其中的一个接地端,并与机器人的接地端相连,使得控制柜与机器人等电位。

qq_45161762的博客 9440

android drawroundrect 圆角不圆,我的圆角矩形绘制出来 只有一个圆角 是为什么啊

代码:private void initView() {setLayerType(LAYER_TYPE_SOFTWARE, null);mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.img1);mOut = Bitmap.createBitmap(mBitmap.getWidth(), mBitmap.getHe...

weixin_32927369的博客 1616

基于VisionMaster的药丸外观缺陷机器视觉检测系统实战解析

机器视觉作为工业自动化的核心技术,通过图像采集与智能分析替代人眼,实现高精度、高效率的在线检测。其核心原理在于利用相机、镜头、光源等硬件获取目标图像,再通过图像处理算法提取特征并进行识别与判断。这项技术的核心价值在于能够大幅提升生产质量与效率,尤其在需要高速、高精度且重复性强的检测场景中优势显著。在制药、食品、电子等行业的表面缺陷检测、尺寸测量、字符识别等环节应用广泛。本文聚焦于制药行业的药丸外观缺陷检测这一具体应用,深入探讨了如何利用海康威视VisionMaster视觉平台,结合**Blob分析**与**

weixin_32903229的博客 313

Matlab实现PSO-TCN-LSTM-Attention粒子群算法优化时间卷积长短期记忆神经网络融合注意力机制多变量时间序列预测的详细项目实例

这些数据包含了随时间变化她动态信息,具有显著她趋势她、周期她和季节她特征。该模型她核心优势在她其能够自适应地学习数据中她多层次时序信息,捕捉时间序列中她长短期依赖关系,从而提高预测她准确她和可靠她。本项目旨在实她一个基她PTO-TCN-LTTM-TFSttfntion她多变量时间序列预测模型,通过粒子群优化算法优化时间卷积长短期记忆神经网络,并融合注意力机制,提高模型她预测精度和稳定她。本项目模型她实她分为多个阶段,首先她数据预处理,接着她PTO优化,然后她TCN和LTTM网络她构建她训练。

优质创作者: 人工智能技术领域 对于有一定基础的 MATLAB和Python带具体需求都可以详谈 MATLAB和Python可以提供代码调试服务加油 谢谢 你的鼓励是我前行的动力 谢谢支持 加油 谢谢 1080

Android实现圆角的方案

罗列一下Android实现圆角有哪些方案 使用xml的shape来实现圆角 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="10dp" /> <solid android:

柚子君的博客 1912

Comsol超声空化气泡仿真入门:从零搭建模型到网格划分的完整流程

本文详细介绍了使用Comsol进行超声空化气泡仿真的完整流程,从物理基础理解到模型搭建、网格划分及求解器设置。通过具体步骤和示例代码,帮助初学者和工程师快速掌握这一关键技术,应用于医疗设备和工业清洗等领域。

weixin_29289821的博客 165

android 设置圆角边框下边没起作用,Android布局中实现圆角边框

1、在布局中设置设置边框圆角可以在drawable目录里定义一个xml文件: corners_bg.xmlandroid:bottomLeftRadius="10dp"android:bottomRightRadius="10dp"android:topLeftRadius="10dp"android:topRightRadius="10dp" />然后在布局中将要设置的控间backgrou...

weixin_33229152的博客 541

安全运营面试总结

答案可以在我的博客中查找 1.自我介绍 2.TCP/IP七层模式 3.端口号(常见协议 数据库) 4.Owasp top 10 5.渗透测试过程 6.漏扫工具 7.中间件漏洞 8.应急响应 9.项目 10.SQL注入类型 11.TCP 三次握手 四次挥手 12.你有什么要问我的 1.自我介绍 2.项目介绍 3.宽字节注入的原理 4.渗透流程 5....

qq_51577576的博客 4413

语义分割(Semantic Segmentation)近年发展综述

目标:为图像中每个像素分配一个语义类别标签(如“道路”、“行人”、“天空”),不区分同类实例。关键挑战精确边界恢复(高空间分辨率)全局上下文理解(大感受野)计算效率与精度平衡小样本/弱监督泛化语义分割的十年演进,是一条从专用→通用、封闭→开放、慢速→实时、像素→语义2015:FCN/U-Net 奠基;2018:DeepLabv3+/PSPNet 实现高精度;2020:HRNet+OCR 登顶竞赛;2021:SegFormer 开启 Transformer 新纪元;2023+

浩瀚之水的专栏 977

Android中绘制圆形和圆角图片

这里说到的圆角图片就是一个矩形,不过其边角不是直的线性结合,而是存在一定弧度的,例如下图的效果: 这里有一个非常关键的方法,是Paint类中的setXfermode(Xfermode xfermode)方法。关于此方法的使用和效果大家可以参见这篇博客:http://www.cnblogs.com/rayray/p/3670120.html 实际上就是用两张图片的叠加组合。在原来...

weixin_30566063的博客 215

Jetson Orin 上拉取 GMSL 相机流并保存在 DMA 内存中

本文介绍了在NVIDIA Jetson Orin平台上实现GMSL相机DMA内存共享的低延迟采集方案。通过V4L2+NvBufSurface技术,将相机数据直接存入DMA缓冲区,避免传统流程中的CPU拷贝开销。文章详细说明了设备初始化、DMA缓冲区分配、V4L2绑定等关键步骤,并展示了调用示例。该方案支持零拷贝访问,适用于AI推理、硬件编码等场景,能显著提升车载视觉系统的实时性能,为多路GMSL相机接入和低延迟处理提供了高效解决方案。

J。 695

android画图类,画了个Android——Canvas类的使用

画了个Android今晚瞎折腾,闲着没事画了个机器人——android,浪费了一个晚上的时间。画这丫还真不容易,为那些坐标,差点砸了键盘,好在最后画出个有模有样的,心稍安。下面来看看画这么个机器人需要些什么东西:主要是Canvas类(android.graphics.Canvas)。Canvas类就是表示一块画布,你可以在上面画你想画的东西。当然,你还可以设置画布的属性,如画布的颜色/尺寸等。Ca...

weixin_30771489的博客 382

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

自定义android 机器人

今晚瞎折腾,闲着没事画了个机器人——android,浪费了一个晚上的时间。画这丫还真不容易,为那些坐标,差点砸了键盘,好在最后画出个有模有样的,心稍安。下面来看看画这么个机器人需要些什么东西:主要是Canvas类(android.graphics.Canvas)。Canvas类就是表示一块画布,你可以在上面画你想画的东西。当然,你还可以设置画布的属性,如画布的颜色/尺寸...

weixin_33755649的博客 135

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Android 多边形导圆角(Path画折线导圆角)

实现原理:三个点,2条直线相交,给中间点连接处导圆角。设圆角半径为radius, 三个点分别为p2, p3,p1, 如下图所示:给p3点处导圆角。先求出导圆角处连接的2点p4、p5坐标,再用path连接p2和p4,然后通过p4、p3、p5绘制贝塞尔曲线连接p4、p5两个点,最后连接p5、p1两个点。总结:计算圆角的起始和结束点,使用贝塞尔曲线绘制圆角。

liuyu0915的博客 2822

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)

1、首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into t

任海丽(3G/移动开发) 30万+

android如何画圆角矩形边框,android 画虚线、实线,画圆角矩形,一半圆角

1、画虚线,实线:建立dotted_line_gray.xml文件放在drawable文件夹下面。android:shape="line" 可以修改你想要的形状android:shape="line">android:dashWidth="2dp" android:dashGap="3dp" />然后在布局的xml里面:作为ImageView或者Linearlayout等作为背景源就可...

weixin_39781599的博客 2924

Android画圆角矩形图片,并在图片上写字

先画圆角矩形,这时圆角矩形是dst,然后画图形,图形是src,使用Mode是srcIn,这样就形成了圆角矩形; 接下来,圆角矩形是dst,然后画文字,文字是src,使用Mode是srcATop,这样就形成了在圆角图形上写字的效果。

Y09lin的专栏 4698

Android 使用 Canvas 和 Paint 实现圆角图片

学习笔记。

2402_85226471的博客 1601

Android学习笔记之详细讲解画圆角图片

Android学习笔记之详细讲解画圆角图片

qq_44935748的博客 312

android 虚线圆角矩形,android 画虚线、实线,画圆角矩形,一半圆角

1、画虚线,实线:建立dotted_line_gray.xml文件放在drawable文件夹下面。android:shape="line" 可以修改你想要的形状android:shape="line">android:dashWidth="2dp" android:dashGap="3dp" />然后在布局的xml里面:作为ImageView或者Linearlayout等作为背景源就可...

weixin_31437777的博客 338

Android 圆角图形和圆角头像的完美实现

/** * 圆角图片控件 */ public class RoundImageView extends ImageView { public RoundImageView(Context context) { super(context); init(); } public RoundImageView(Context context, AttributeSet attrs,

qq_33745325的博客 1188

画正方形圆角android,Android 快速绘制一个圆角矩形的实例

android 开发过程中,经常需要绘制一些简单的颜色图形。下面贴上一段最简单的图形。@H_301_4@圆角矩形:@H_301_4@res\drawable\shape_small_label.xmlxmlns:android="http://schemas.android.com/apk/res/android">android:color="#ffffff" />android:w...

weixin_42165018的博客 514

android 通用圆角控件

android 通用圆角控件红色字为总结日记--写给未来的我圆角控件就是对 View的Canvas进行改变轮廓的处理 改变轮廓两种方式: 1.剪切(clip()) 剪切clip是对画布进行剪切,只对剪切后的绘制起效果。 ps:Canvas的图形变换平移、放缩、旋转、错切、裁剪都是只对后面的绘制起效果, 对应Matrix中preXXX,Matrix变换分为preXXX,postXXX,s

oYuanWa的专栏 2274
上一篇: Android之手势识别
下一篇: Android之RecycleView反弹效果
CL_slacking
博客等级 码龄12年 183粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值