`
wangleyiang
  • 浏览: 221699 次
社区版块
存档分类
最新评论

Android Bitmap圆角处理

阅读更多

    在开发中,为了让图片效果美观,有时需要对图片做一些处理。圆角就是一种常用的效果处理。对于图片做圆角处理的方法很多,下面从绘制的角度做简单介绍,主要代码如下:

	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中对Bitmap图片进行处理,使其能够以任意角度显示为圆角,以及涉及到的相关技术。 首先,我们要理解Android中的ImageView组件,它是用来显示图像的视图,可以显示Bitmap或者从资源...

    把bitmap处理成圆角

    在Android开发中,为了提升用户体验,我们经常需要对图片进行特殊处理,比如将矩形的Bitmap转换为圆角效果。这种需求在用户头像显示、卡片设计等场景中尤为常见。"把bitmap处理成圆角"是Android UI设计中一个重要的...

    Android 完美实现图片圆角和圆形

    但如果图片不是正方形,为了保持图像的原始宽高比,可以先使用`Bitmap.createBitmap()`方法裁剪出一个正方形区域,然后再进行圆角处理。 5. **性能优化**: 对于大量或者频繁使用的圆角图片,可以考虑使用...

    android图片圆角处理

    在Android开发中,图片圆角处理是一个常见的需求,特别是在设计用户界面时,为了追求美观和专业,圆形或者带有圆角的图像元素往往被广泛应用。本文将深入探讨如何在Android平台上实现图片的圆角处理。 首先,我们...

    android头像圆角处理

    以下将详细介绍如何在Android中实现ImageView的圆角图片处理。 1. XML属性设置: Android提供了一个叫做`android:background`的属性,可以配合Shape Drawable来实现圆形或圆角矩形的效果。首先创建一个`res/...

    android Bitmap圆角与倒影的具体实现代码

    在Android开发中,Bitmap是用于处理图像的基本类,它可以被用来加载、绘制和操作图片。在上述代码中,我们看到了如何实现Bitmap的两种特殊效果:圆角和倒影。下面将详细解释这两种效果的实现原理。 1. **圆角Bitmap...

    Android图片圆角处理

    在Android开发中,图片圆角处理是一个常见的需求,特别是在UI设计中,许多界面元素如按钮、头像等可能需要展示为圆形或者带有圆角的效果。本文将深入探讨如何使用Canvas来实现这一功能。 首先,我们需要了解Canvas...

    Android生成带圆角的Bitmap图片

    在这种情况下,我们可以利用Android的Canvas API来实现生成带圆角的Bitmap图片。以下将详细讲解如何通过Java代码实现这一功能。 首先,我们需要了解几个关键的概念和类: 1. **Bitmap**:在Android中,Bitmap是...

    android Bitmap用法总结

    Bitmap是Android平台中用于处理图像的核心类,它用于表示位图图像数据。下面是对Bitmap用法的详细总结: 1. **Drawable转换为Bitmap**: 当我们需要将一个Drawable对象(如从XML布局文件中加载的图像)转换为...

    Android 实现图片/背景(半部分&全部)圆角 源码

    在Android开发中,为图片或背景添加圆角效果是一种常见的需求,这可以提升应用的界面美观性和用户体验。本文将深入探讨如何实现图片和背景的半圆角及全圆角效果,并提供源码分析。 首先,要理解Android中实现圆角...

    android 图片圆角化

    此外,第三方库如`Picasso`、`Glide`等也提供了方便的图片圆角处理功能。例如,在`Glide`中,可以使用`transform()`方法添加自定义的转换器来实现图片圆角化。 总的来说,Android图片圆角化的实现方式多种多样,...

    android surfaceview 悬浮窗圆角 windowmanager

    1. 为防止`SurfaceView`的内容被圆角裁剪,可以将内容绘制到一个`Bitmap`,然后在`ViewGroup`的`onDraw()`中绘制该`Bitmap`,同时对`Canvas`进行裁剪。 2. 要确保`SurfaceView`的大小与`ViewGroup`一致,以保持圆角...

    Android ImageView圆角图片 + 剪切

    // 圆角处理 public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float cornerRadius) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); ...

    android图片圆角化处理

    ### Android 图片圆角化处理知识点详解 #### 一、背景与应用场景 在Android开发过程中,经常需要对图片进行各种效果处理,以满足界面设计的需求。其中,将图片转化为圆角图片是一种常见的需求,比如应用图标、用户...

    Android-系统的ImageView 是四方形的 把bitmap处理成圆角的

    总之,在Android开发中,将`Bitmap`处理为圆角图片是一种常见的需求,可以通过多种方式实现。以上提供的方法是一个基本的实现,但还有许多其他优化和扩展的可能性,可以根据项目需求进行选择和调整。

    Android Picasso实现圆形图片和圆角图片

    总结来说,Picasso库为Android开发者提供了一种简单、强大的方式来处理图片,包括将图片转换为圆形或圆角。通过自定义`Transformation`,我们可以根据需求实现各种图像效果。同时,Picasso的内存管理和缓存策略也...

    android 使用canvas把矩形图片变成圆角矩形显示

    // 将处理后的Bitmap设置到当前的ImageView上 setBitmap(outputBitmap); // 调用父类的onDraw方法,让其绘制原生的图片 super.onDraw(canvas); } else { super.onDraw(canvas); } } private Bitmap ...

    Android-圆角背景的SpannableString后期会加入些许封装

    也可以直接使用BitmapDrawable并设置Bitmap为带有圆角的图像。 2. **设置SpannableString**:创建一个SpannableString对象,将需要设置背景的文本插入。然后使用`setSpan`方法,传入自定义的BackgroundSpan(实现...

    Android圆角图片处理

    首先,我们理解为什么要对图片进行圆角处理。在移动应用中,圆角图片可以增加视觉上的舒适度,使得界面看起来更加柔和,符合人眼的审美习惯。此外,它还能帮助创建现代和专业的UI设计。 在Android中处理圆角图片...

Global site tag (gtag.js) - Google Analytics