在开发中,为了让图片效果美观,有时需要对图片做一些处理。圆角就是一种常用的效果处理。对于图片做圆角处理的方法很多,下面从绘制的角度做简单介绍,主要代码如下:
public Bitmap getRoundedCornerBitmap(Bitmap sourceBitmap) {
try {
Bitmap targetBitmap = Bitmap.createBitmap(sourceBitmap.getWidth(), sourceBitmap.getHeight(), Config.ARGB_8888);
// 得到画布
Canvas canvas = new Canvas(targetBitmap);
// 创建画笔
Paint paint = new Paint();
paint.setAntiAlias(true);
// 值越大角度越明显
float roundPx = 30;
float roundPy = 30;
Rect rect = new Rect(0, 0, sourceBitmap.getWidth(), sourceBitmap.getHeight());
RectF rectF = new RectF(rect);
// 绘制
canvas.drawARGB(0, 0, 0, 0);
canvas.drawRoundRect(rectF, roundPx, roundPy, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(sourceBitmap, rect, rect, paint);
return targetBitmap;
} catch (Exception e) {
e.printStackTrace();
} catch (Error e) {
e.printStackTrace();
}
return null;
}
使用方法比较简单:
ImageView image = (ImageView) findViewById(R.id.imageView1);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
image.setImageBitmap(getRoundedCornerBitmap(bitmap));
// 回收Bitmap资源
if (bitmap != null && !bitmap.isRecycled()) {
bitmap.recycle();
bitmap = null;
}
分享到:
相关推荐
本篇文章将深入探讨如何在Android中对Bitmap图片进行处理,使其能够以任意角度显示为圆角,以及涉及到的相关技术。 首先,我们要理解Android中的ImageView组件,它是用来显示图像的视图,可以显示Bitmap或者从资源...
在Android开发中,为了提升用户体验,我们经常需要对图片进行特殊处理,比如将矩形的Bitmap转换为圆角效果。这种需求在用户头像显示、卡片设计等场景中尤为常见。"把bitmap处理成圆角"是Android UI设计中一个重要的...
但如果图片不是正方形,为了保持图像的原始宽高比,可以先使用`Bitmap.createBitmap()`方法裁剪出一个正方形区域,然后再进行圆角处理。 5. **性能优化**: 对于大量或者频繁使用的圆角图片,可以考虑使用...
在Android开发中,图片圆角处理是一个常见的需求,特别是在设计用户界面时,为了追求美观和专业,圆形或者带有圆角的图像元素往往被广泛应用。本文将深入探讨如何在Android平台上实现图片的圆角处理。 首先,我们...
以下将详细介绍如何在Android中实现ImageView的圆角图片处理。 1. XML属性设置: Android提供了一个叫做`android:background`的属性,可以配合Shape Drawable来实现圆形或圆角矩形的效果。首先创建一个`res/...
在Android开发中,Bitmap是用于处理图像的基本类,它可以被用来加载、绘制和操作图片。在上述代码中,我们看到了如何实现Bitmap的两种特殊效果:圆角和倒影。下面将详细解释这两种效果的实现原理。 1. **圆角Bitmap...
在Android开发中,图片圆角处理是一个常见的需求,特别是在UI设计中,许多界面元素如按钮、头像等可能需要展示为圆形或者带有圆角的效果。本文将深入探讨如何使用Canvas来实现这一功能。 首先,我们需要了解Canvas...
在这种情况下,我们可以利用Android的Canvas API来实现生成带圆角的Bitmap图片。以下将详细讲解如何通过Java代码实现这一功能。 首先,我们需要了解几个关键的概念和类: 1. **Bitmap**:在Android中,Bitmap是...
Bitmap是Android平台中用于处理图像的核心类,它用于表示位图图像数据。下面是对Bitmap用法的详细总结: 1. **Drawable转换为Bitmap**: 当我们需要将一个Drawable对象(如从XML布局文件中加载的图像)转换为...
在Android开发中,为图片或背景添加圆角效果是一种常见的需求,这可以提升应用的界面美观性和用户体验。本文将深入探讨如何实现图片和背景的半圆角及全圆角效果,并提供源码分析。 首先,要理解Android中实现圆角...
此外,第三方库如`Picasso`、`Glide`等也提供了方便的图片圆角处理功能。例如,在`Glide`中,可以使用`transform()`方法添加自定义的转换器来实现图片圆角化。 总的来说,Android图片圆角化的实现方式多种多样,...
1. 为防止`SurfaceView`的内容被圆角裁剪,可以将内容绘制到一个`Bitmap`,然后在`ViewGroup`的`onDraw()`中绘制该`Bitmap`,同时对`Canvas`进行裁剪。 2. 要确保`SurfaceView`的大小与`ViewGroup`一致,以保持圆角...
// 圆角处理 public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float cornerRadius) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); ...
### Android 图片圆角化处理知识点详解 #### 一、背景与应用场景 在Android开发过程中,经常需要对图片进行各种效果处理,以满足界面设计的需求。其中,将图片转化为圆角图片是一种常见的需求,比如应用图标、用户...
总之,在Android开发中,将`Bitmap`处理为圆角图片是一种常见的需求,可以通过多种方式实现。以上提供的方法是一个基本的实现,但还有许多其他优化和扩展的可能性,可以根据项目需求进行选择和调整。
总结来说,Picasso库为Android开发者提供了一种简单、强大的方式来处理图片,包括将图片转换为圆形或圆角。通过自定义`Transformation`,我们可以根据需求实现各种图像效果。同时,Picasso的内存管理和缓存策略也...
// 将处理后的Bitmap设置到当前的ImageView上 setBitmap(outputBitmap); // 调用父类的onDraw方法,让其绘制原生的图片 super.onDraw(canvas); } else { super.onDraw(canvas); } } private Bitmap ...
也可以直接使用BitmapDrawable并设置Bitmap为带有圆角的图像。 2. **设置SpannableString**:创建一个SpannableString对象,将需要设置背景的文本插入。然后使用`setSpan`方法,传入自定义的BackgroundSpan(实现...
首先,我们理解为什么要对图片进行圆角处理。在移动应用中,圆角图片可以增加视觉上的舒适度,使得界面看起来更加柔和,符合人眼的审美习惯。此外,它还能帮助创建现代和专业的UI设计。 在Android中处理圆角图片...