
图形
文章平均质量分 71
锐湃
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
反方向画弧
Android中绘制反方向(逆时针)弧形的方法是在Canvas.drawArc()方法中使用负数的sweepAngle参数。默认正数表示顺时针方向,负数表示逆时针方向。通过自定义View示例展示了两种方向的弧形绘制效果:蓝色顺时针弧形(sweepAngle=90)和红色逆时针弧形(sweepAngle=-90)。代码中使用相同RectF边界确保公平对比,0°起点为右侧水平方向。通过调整startAngle和正负sweepAngle可灵活控制弧形范围和方向,适用于仪表盘、进度条等复杂效果。转载 2025-08-07 10:55:07 · 28 阅读 · 0 评论 -
paint线条末端的圆角效果,线段端点平角和圆角
在Android中,通过Paint的setStrokeCap()方法可以设置线段端点的弧度效果。其中Paint.Cap.ROUND参数可使线段终点呈现圆角,弧度半径等于线宽的一半。示例代码展示了BUTT(平角)、ROUND(圆角)和SQUARE(方角)三种端点样式的区别,圆角效果会随线宽增大而更明显。使用时需注意:1)线宽决定弧度大小;2)需开启抗锯齿使边缘平滑;3)该设置对所有绘制线条生效。如需仅终点有弧度而起点保持平角,需通过Path手动控制绘制逻辑。转载 2025-08-07 10:38:13 · 24 阅读 · 0 评论 -
layer-list指定位置和宽高
Android的layer-list通过<item>标签属性实现多层Drawable叠加效果,关键属性包括width/height控制尺寸,left/right/top/bottom控制偏移位置,gravity设置对齐方式。示例展示了固定图标居中、带偏移阴影和负偏移发光等效果,注意层级关系中靠后的item会覆盖前面的。通过合理组合这些属性,无需自定义View即可实现复杂叠加效果。转载 2025-08-06 19:00:29 · 23 阅读 · 0 评论 -
资源图片模糊效果实现
Android图片模糊处理方案 摘要:本文介绍了三种实现Android资源图片模糊效果的方法:1. 使用Coil库的BlurTransformation,简单高效;2. 通过原生RenderScript处理,不依赖第三方库;3. 自定义快速模糊算法,兼容低版本设备。每种方案均提供代码示例,并强调性能优化注意事项,如缩小图片尺寸、异步处理、及时回收Bitmap等。开发者可根据项目需求选择适合的方案实现资源图片模糊效果。转载 2025-07-31 11:52:20 · 10 阅读 · 0 评论 -
Drawable 转换为 Bitmap
Android中Drawable转Bitmap的方法总结:1.通用方法通过Canvas绘制,适用于各类Drawable;2.针对BitmapDrawable可直接获取内部Bitmap;3.Kotlin可用扩展函数简化操作。注意事项包括尺寸处理(默认最小1px)、推荐ARGB_8888格式保证质量、注意内存管理及时回收Bitmap防止OOM。转换时需根据Drawable类型选择合适方法,大尺寸图片应先压缩再转换。转载 2025-07-31 11:51:51 · 53 阅读 · 0 评论 -
Coil中用BlurTransformation给加载的图片添加模糊效果
Coil图片加载库中的BlurTransformation可以轻松实现高斯模糊效果。使用时需添加coil-transformations依赖,通过transformations()方法设置模糊半径radius(建议10f-20f)和采样率sampling(提升性能)。该转换器兼容API14+,可与其他转换器组合使用,简化了图片模糊处理的实现过程。注意调整参数平衡性能与效果,大radius值会增加性能消耗。转载 2025-07-31 11:50:13 · 20 阅读 · 0 评论 -
自定义圆形进度条
摘要:本文介绍了一个高度可定制的圆形进度条控件实现方案。该控件基于Android自定义View开发,支持设置圆环背景颜色、宽度,进度条颜色、宽度,进度百分比,起始角度以及动画执行时间等参数。通过TypedArray获取XML属性配置,使用Paint绘制圆环和进度弧线,结合Animation实现平滑的进度变化动画效果。开发者可通过声明式布局或代码动态设置各项参数,满足不同场景下的UI需求。控件源码参考了开源项目circleProgress的实现思路。转载 2025-07-31 11:49:52 · 9 阅读 · 0 评论 -
自定义span绘制ReplacementSpan,背景 图形 图片
ReplacementSpan是Android用于自定义文本显示的抽象类,继承自CharacterStyle,可实现文本替换为图片、动态效果等。主要子类包括ImageSpan、BackgroundColorSpan等。自定义需实现getSize()测量尺寸和draw()绘制内容,示例演示了如何创建圆角背景文本。使用时需注意性能、尺寸一致性和兼容性问题,适用于实现复杂文本效果如图文混排和动态文字。转载 2025-07-08 18:28:08 · 53 阅读 · 0 评论 -
gradient 使用渐变
Android渐变背景使用指南:本文详细介绍了Android中创建渐变背景的三种方式(线性、径向、扫描)及具体实现方法。1)线性渐变(LinearGradient)通过angle参数控制方向,支持多色配置;2)径向渐变(RadialGradient)实现中心向外扩散效果,需设置半径;3)扫描渐变(SweepGradient)创建旋转式颜色过渡。文章还说明了如何组合圆角与渐变,并比较了不同类型的特点与适用场景,为开发者提供了XML配置和代码创建的完整解决方案。转载 2025-07-01 11:35:51 · 79 阅读 · 0 评论 -
animated-rotate简单的图片旋转动画
animated-rotate简单的图片旋转动画转载 2025-06-24 17:43:52 · 27 阅读 · 0 评论 -
使用Glide实现毛玻璃的效果
Glide实现毛玻璃的效果转载 2025-06-23 16:37:33 · 45 阅读 · 0 评论 -
glide实现高斯模糊,毛玻璃效果,加载图片
【Android图片处理技术总结】本文介绍了获取drawable/mipmap资源的方法,通过ResourceUtils工具类根据名称获取资源ID。重点展示了实现毛玻璃效果的代码:使用BitmapFactory解码图片后,用BitmapUtil进行模糊处理并设置为背景。同时提供了GlideUtils工具类,封装了Glide加载网络图片的功能,支持圆形/圆角裁剪、默认图设置及缓存策略。此外还展示了GlideTransformations库实现图片模糊和颜色滤镜效果的示例代码。最后提及了相关依赖库的引入方式。转载 2025-06-23 16:30:40 · 43 阅读 · 0 评论 -
java int 颜色值转换为string 不带透明度
本文介绍了一个Java方法,将不含透明度的整数颜色值转换为#RRGGBB格式字符串。通过位运算提取RGB分量(红色右移16位,绿色右移8位,蓝色直接获取),再用String.format格式化为两位十六进制。代码示例演示了红绿蓝三种颜色的转换(如0xFF0000转为"#FF0000")。注意该方法不处理透明度,若需处理ARGB格式需额外提取alpha分量。核心原理是利用位运算分离颜色通道并格式化为标准十六进制颜色代码。原创 2025-06-03 19:57:54 · 240 阅读 · 0 评论 -
使用glide 同步获取图片
Glide提供了两种同步获取图片的方式:1)使用asBitmap()方法在主线程同步获取Bitmap对象,但可能造成主线程阻塞;2)使用downloadOnly()方法在后台线程同步下载图片到磁盘。两种方法都需要注意线程安全问题,前者建议在后台线程执行,后者更适合仅需下载的场景。示例代码展示了如何通过override()设置图片尺寸,以及通过submit().get()同步获取结果。开发者应根据实际需求选择合适的加载策略,并注意Glide的缓存机制优化。原创 2025-06-03 19:44:24 · 489 阅读 · 0 评论 -
使用 Palette API 选择颜色
Android Palette库是一个用于从图片中提取主色调的Jetpack组件,可帮助开发者创建视觉协调的应用界面。它支持同步/异步生成调色板,提供6种标准颜色配置文件(如Vibrant、Muted等),并能获取适合文本显示的颜色。通过Palette.Builder可自定义颜色数量、区域和过滤条件。典型应用场景包括根据专辑封面调整音乐播放界面颜色,或动态改变工具栏背景色。开发者需注意调色板生成应在非主线程执行,并为缺失的颜色配置提供默认值,确保界面稳定性。转载 2025-05-26 14:37:45 · 60 阅读 · 0 评论 -
Jetpack:利用Palette进行图片取色_android 提取 图片 颜色
通过上面我们看到,Palette的功能很强大,但是它使用起来非常简单,可以让我们很方便的提取图片中的颜色,并且适配合适的文字颜色。同时注意因为ColorUtils是public的,所以当我们需要文字自动适配颜色的情况时,也可以通过ColorUtils的几个函数自己实现计算动态颜色的方案。版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。转载 2025-05-26 14:30:25 · 40 阅读 · 0 评论 -
使用 Glide 库加载图片并获取 Bitmap 对象
本文介绍了使用Glide库加载图片并获取Bitmap对象的方法。主要内容包括:1)添加Glide依赖的步骤;2)初始化Glide的方法;3)使用asBitmap()加载图片并获取Bitmap的具体实现,包括SimpleTarget和BitmapImageViewTarget两种方式。文章还提醒了需要添加网络权限等注意事项,适用于Glide 4.x版本。转载 2025-05-26 14:10:57 · 226 阅读 · 0 评论 -
java 把颜色值 转为 String
本文介绍了Android开发中颜色值的两种转换方法:1. 整型转字符串:使用String.format("#%06X", (0xFFFFFF & color))将颜色整型值转换为十六进制字符串,忽略alpha通道;2. 字符串转整型:通过Color.parseColor()方法将十六进制字符串转换为包含alpha通道的整型颜色值。文章还提供了获取RGB分量的方法,详细说明了颜色值的处理过程。转载 2025-05-24 17:45:45 · 97 阅读 · 0 评论 -
Glide设置加载图片为圆形
Glide是一个强大的图片加载库,支持对图片进行多种变换,如圆形裁剪。通过Glide的转换功能,可以轻松实现圆形图片的加载。示例代码展示了如何使用Glide加载网络图片并将其裁剪为圆形:首先初始化Glide加载器,然后指定图片URL,调用circleCrop()方法进行圆形裁剪,最后将处理后的图片显示在ImageView中。这种方法简单高效,适用于需要展示圆形图片的场景。转载 2025-05-20 16:57:12 · 143 阅读 · 0 评论 -
使用Glide 对网络图片做等比缩放调整
本文详细介绍了如何使用Glide库对网络图片进行等比缩放调整的步骤。首先,在项目的build.gradle文件中添加Glide的依赖。接着,在Activity或Fragment中通过Glide加载网络图片到ImageView。然后,使用centerCrop()方法设置图片的缩放类型为等比缩放,并可根据需求选择其他缩放类型。最后,通过into()方法将调整后的图片显示到ImageView中。本文通过四个步骤展示了整个流程,并提供了相应的代码示例,帮助开发者理解并实现这一功能。转载 2025-05-20 16:54:16 · 71 阅读 · 0 评论 -
Glide设置图片部分圆角和缩放模式
本文介绍了一个用于加载并裁剪图片的Java方法loadCenterCrop,该方法结合了Glide库和自定义的CornerTransform类来实现图片的圆角处理。CornerTransform类继承自Glide的Transformation接口,用于对图片进行圆角处理,并允许用户指定哪些角需要圆角化。方法中首先创建了一个CornerTransform对象,并根据传入的参数设置需要圆角化的角。然后,使用Glide加载图片,并应用CenterCrop和CornerTransform转换,最终将处理后的图片显示转载 2025-05-19 21:16:49 · 88 阅读 · 0 评论 -
代码写 layerlist
LayerList是Android开发中一种强大的资源类型,允许在单一drawable资源内叠加多个图形,适用于创建复合背景或图标。使用步骤包括在XML中定义LayerList,通过<layer-list>标签嵌套<item>元素来指定各层图形及其属性,如颜色、形状和偏移量。此外,也可以在代码中动态创建LayerList,使用LayerDrawable类并设置各层的边界和大小。使用LayerList时需注意资源ID的正确性、性能优化(避免层数过多)以及API兼容性。通过合理使用LayerList,开发者可以转载 2025-05-19 21:04:02 · 98 阅读 · 0 评论 -
利用GradientDrawable实现切圆角,局部圆角和全部圆角
在Android开发中,使用GradientDrawable可以动态地为布局设置圆角,而无需依赖XML文件。通过Java代码,可以实例化GradientDrawable对象,并设置其形状、圆角半径和背景颜色等属性。例如,可以使用setCornerRadius()方法统一设置四个圆角,或使用setCornerRadii()方法为每个角单独设置不同的圆角半径。这种方法支持动态配置,且可以避免圆角锯齿问题。然而,如果子视图的长宽都设置为match_parent并设置了背景颜色,圆角效果可能会消失。总体而言,Gra转载 2025-05-19 20:50:59 · 99 阅读 · 0 评论 -
代码写shape
在Android开发中,Shape用于定义View的外观,如按钮的圆角、背景颜色等。Shape是一种XML定义的可绘制对象,支持矩形、圆角矩形、椭圆、线性渐变等形状。通过<shape>标签及其子标签,可以设置形状、圆角、填充颜色、渐变色、边框和大小等属性。在代码中,可以使用GradientDrawable类创建和设置Shape。例如,创建一个圆角矩形背景的代码示例如下:转载 2025-05-19 20:29:50 · 93 阅读 · 0 评论 -
如何截取Activity或者Fragment的内容
被启用,然后创建一个与控件大小相同的Bitmap,并使用Canvas将控件的内容绘制到这个Bitmap上。如果你不想包含状态栏,可以通过计算状态栏的高度来调整截取的区域。首先,你需要创建一个足够大的Bitmap来容纳整个RecyclerView的内容,以及一个Canvas对象来绘制内容。如果RecyclerView的内容超过了一个屏幕的高度,你需要将每次绘制的Bitmap合并到最初的大Bitmap中。方法会遍历RecyclerView的所有Item,计算总高度,并逐屏绘制内容到一个大的Bitmap中。转载 2024-11-19 20:34:14 · 140 阅读 · 0 评论 -
多种方式实现图片圆角矩形和圆形效果
1在项目开发中,为了让图片显示得更加美观,通常 UI 会设计成圆角矩形或圆形效果。本文将介绍几种常见的实现方式,并提供对应的代码示例。1。转载 2024-11-05 10:19:14 · 284 阅读 · 0 评论 -
【Android】Base64转图片
Base64转图片转载 2024-10-23 11:20:52 · 749 阅读 · 0 评论 -
根据Base64字符流生成相应的二维码
根据Base64字符流生成相应的二维码转载 2024-10-23 11:16:47 · 384 阅读 · 0 评论 -
在ImageView中显示gif
通过以上步骤,你可以在ImageView中成功显示GIF动画。这种技术在应用程序中的应用场景包括但不限于:展示动态的加载指示器、播放表情动画、展示广告动画等。Glide是一个强大的图片加载库,它支持加载各种类型的图片,并提供了丰富的配置选项。这里使用了Glide库来加载和显示GIF动画。替换为你实际的GIF文件资源ID。替换为你实际的GIF文件名。转载 2024-10-16 15:16:33 · 322 阅读 · 0 评论 -
AndroidX:新纪元的形状 (Shapes) ⭐
本文在这里向大家介绍它是什么、怎么使用它,希望能够帮助到大家。利用这个新的库,我们能轻松创建和编辑复杂的圆角多边形。这个库主要有两个部分:形状 Shape 和 形变 Morph。为了照顾注意力集中时间较短的读者,我打算分两篇文章来介绍这个库,第一篇介绍 Shape 部分,它允许我们轻松创建和渲染圆角多边形;第二篇则介绍如何为这些形状制作动画效果(又称作“Morph”)。Android 提供了非常灵活的绘制 API。在自定义 View 时,我们可以重写onDraw()转载 2024-09-25 10:46:02 · 338 阅读 · 0 评论 -
十分钟实现 Android Camera2 相机拍照
因为工作中要使用,但因为Camera2比较复杂,网上资料也比较乱,有一定入门门槛,所以花了几天时间系统研究了下,并在优快云上记录了下,希望能帮助到更多的小伙伴。上篇文章我们使用Camera2实现了相机预览的功能,这篇文章我们接着上文,来实现Camera2相机拍照的功能。转载 2024-09-11 10:32:33 · 1036 阅读 · 0 评论 -
Surface截图方法总结
本篇,我们主要针对Surface截屏方法进行了总结,当然,如果要放到生产环境,如果仅仅是简单的截图就已经够了,但是要是实现视频录制,我们还需要做更多的内存优化,比如前文提到的Bitmap池化(享元模式)。另外我们还可能涉及Bitmap转ByteBuffer(Direct ByteBuffer 不会因为GC而整理内存碎片,引发内存地址变化)的处理,意味着ByteBuffer池化,这部分就不赘述了。Android Surface截图方法总结作者:时光少年。转载 2024-09-10 17:05:45 · 576 阅读 · 0 评论 -
不同版本上 Bitmap 内存分配与回收对比
到这里,Bitmap 的分配和回收过程就分析完了。你会发现在 Android 8.0 以前的版本,Bitmap 的像素数据是存在 Java 堆的,Bitmap 数据放在 Java 堆容易造成 Java OOM,也没有完全利用起来系统 Native 内存。那么,有没有可能让低版本也将 Bitmap 数据存在 Native 层呢?关注我,带你建立核心竞争力,我们下次见。参考资料管理位图内存 —— Android 官方文档。转载 2024-09-05 16:27:11 · 896 阅读 · 0 评论 -
十分钟实现 Android Camera2 相机预览
因为工作中要使用,但因为Camera2比较复杂,网上资料也比较乱,有一定入门门槛,所以花了几天时间系统研究了下,并在优快云上记录了下,希望能帮助到更多的小伙伴。Camera2 API的包名是android.hardware.camera2,是Android 5.0后推出的一套调用摄像头设备的接口,用来替换原有的Camera。Camera设备的管理类,通过该对象可以查询设备的Camera设备信息,得到CameraDevice对象。转载 2024-08-27 16:51:05 · 2265 阅读 · 0 评论 -
Camera2的使用【详细】
可以避免等多种情况;同时建议将输出用的ImageReader设为全局变量。camera权限是必须申请的,如果需要保存图片还需要读写权限,并动态申请。转载 2024-08-27 16:40:07 · 754 阅读 · 0 评论 -
内存大户Bitmap
阅读到这里,我们总结几个有用的结论:• Android Bitmap 内存占用和图片的尺寸,质量强相关,日常治理大图的时候要对这些参数适当做降级方案。• Android8以下图片分配在 Java 堆内,容易 OOM,可以通过一些 hook 方案把内存移到堆外。并且虽然 Bitmap 有自己兜底的内存释放机制,但是主动及时调用 recycle也不是坏事。转载 2024-08-20 10:42:35 · 149 阅读 · 0 评论 -
Google CameraX,看这篇文章就够了
从下图我们可以看到,CameraX是基于Camera2的API进行的封装。Camera API1,Google已经声明在Android5.0之后的设备上废弃了。所以,CameraX所能支持的功能,也就是Camera2所支持的功能。目前CameraX为我们提供下下面几个最主要的功能,分别是预览、图片分析、图片拍摄、视频拍摄等。这些都是相机开发里面常用的功能。4。转载 2024-08-12 14:37:30 · 869 阅读 · 0 评论 -
打造丝滑的Activity recreate重建(主题切换)过渡动画
当应用程序支持多种语言或主题时,切换语言或主题通常需要重新启动 Activity 以重新加载配置。虽然 recreate 是一种常用的重建 Activity 方法,但它不支持像在 Activity 之间切换时那样使用过渡动画。特别是在切换 浅色/深色 主题时,由于缺乏过渡动画而显得很生硬。为了提升改善这一点,只能自己实现过渡动画以提供更流畅的用户体验。转载 2024-08-12 11:30:09 · 252 阅读 · 0 评论 -
Drag Select Compose:实现多平台图片多选功能的利器
Drag Select Compose库使我们能够轻松实现复杂的图片多选功能,同时支持多种平台。通过该库,我们不仅可以简化开发流程,还可以为用户提供流畅的交互体验。希望通过这篇博客,您能更好地理解和应用这一强大的工具。了解更多信息,请访问DragSelectCompose文档Drag Select Compose:实现多平台图片多选功能的利器。转载 2024-07-08 10:48:20 · 129 阅读 · 0 评论 -
Bitmap亮度调节、灰度化、二值化实现
到这里本篇就结束了,通过本篇我们可以了解到一些比较有价值的图片效果实现,分别是亮度调节、灰度化、二值化。在后续的内容中,我们也会继续关注Canvas相关的绘制,如AGSL、RenderNode,我们文章的路线会向Jet Compose转移,希望大家继续关注。转载 2024-05-11 11:01:10 · 493 阅读 · 0 评论