`

Android Bitmap 圆角

 
阅读更多
第一种是生成圆角背景:
Button mView = (Button)findViewById(R.id.mView);
		
		Bitmap myCoolBitmap = ((BitmapDrawable) getResources().getDrawable(
				R.drawable.icon)).getBitmap();
		int w = myCoolBitmap.getWidth(), h = myCoolBitmap.getHeight();
		
		Bitmap rounder = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
		Canvas canvas = new Canvas(rounder);
		Paint xferPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
		xferPaint.setColor(Color.RED);
		canvas.drawRoundRect(new RectF(0, 0, w, h), 20.0f, 20.0f, xferPaint);
		xferPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
		canvas.drawBitmap(myCoolBitmap, 0, 0, null);
		canvas.drawBitmap(rounder, 0, 0, xferPaint);
		
		Drawable drawable = new BitmapDrawable(rounder);  

		mView.setBackgroundDrawable(drawable);


第二种是真的圆角的位图:
public Bitmap getRoundedCornerBitmap(Bitmap bitmap) {
		// 创建一个指定宽度和高度的空位图对象
		Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
				bitmap.getHeight(), Config.ARGB_8888);
		// 用该位图创建画布
		Canvas canvas = new Canvas(output);
		// 画笔对象
		final Paint paint = new Paint();
		// 画笔的颜色
		final int color = 0xff424242;
		// 矩形区域对象
		final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
		// 未知
		final RectF rectF = new RectF(rect);
		// 拐角的半径
		final float roundPx = 30;
		// 消除锯齿
		paint.setAntiAlias(true);
		// 画布背景色
		canvas.drawARGB(0, 0, 0, 0);
		// 设置画笔颜色
		paint.setColor(color);
		// 绘制圆角矩形
		canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
		// 未知
		paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
		// 把该图片绘制在该圆角矩形区域中
		canvas.drawBitmap(bitmap, rect, rect, paint);
		// 最终在画布上呈现的就是该圆角矩形图片,然后我们返回该Bitmap对象
		return output;
	}


分享到:
评论

相关推荐

    android中对Bitmap图片设置任意角为圆角

    本篇文章将深入探讨如何在Android中对Bitmap图片进行处理,使其能够以任意角度显示为圆角,以及涉及到的相关技术。 首先,我们要理解Android中的ImageView组件,它是用来显示图像的视图,可以显示Bitmap或者从资源...

    把bitmap处理成圆角

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

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

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

    Android生成带圆角的Bitmap图片

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

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

    在Android开发中,有时我们需要对显示的图片进行特殊处理,比如让图片呈现圆角或完全圆形。本知识点将深入探讨如何在Android应用中完美实现图片的圆角和圆形效果。 首先,我们来看如何实现图片的圆角效果。Android...

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

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

    android Bitmap用法总结

    - 获取圆角Bitmap:`getRoundedCornerBitmap`方法利用Canvas和Paint创建圆角效果。 - 生成带倒影的Bitmap:`createReflectionImageWithOrigin`方法通过复制和翻转Bitmap并添加渐变效果实现。 以上就是Android中...

    android 图片圆角化

    在Android开发中,图片圆角化是一个常见的需求,主要用于提高应用界面的美观度和用户体验。在本主题中,我们将深入探讨如何实现Android图片的圆角化处理,主要涉及`ImageView`的自定义以及相关的编程技术。 首先,...

    android surfaceview 悬浮窗圆角 windowmanager

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

    Android ImageView圆角图片 + 剪切

    本篇文章将深入探讨如何在Android中实现`ImageView`的圆角效果以及图片剪切功能。 ### 一、Android ImageView实现圆角图片 在Android中,让`ImageView`显示圆角图片主要有以下几种方法: 1. **自定义`ImageView`*...

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

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

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

    在Android开发中,有时我们需要将一个矩形的图片转换为圆角矩形显示,以提升UI界面的美观度。这通常涉及到自定义View或者ImageView的使用,以及Canvas的绘图技术。下面我们将详细探讨如何实现这个功能。 首先,我们...

    android头像圆角处理

    在Android开发中,为ImageView设置圆角效果是一个常见的需求,特别是在用户界面设计中,例如用于显示用户头像。实现这一效果的方式多种多样,既有简单的XML属性设置,也有自定义View的解决方案。以下将详细介绍如何...

    Android-RCImageView自定义圆角ImageView带边框效果

    本篇文章将深入探讨如何基于Android平台创建一个名为RCImageView的自定义圆角ImageView,同时具备边框效果。这个自定义组件可以为用户提供更灵活的图像展示方式,增强应用的视觉体验。 首先,我们要了解Android中的...

    Android-RoundRectLayout圆角矩形的绘制方案解决任意圆角和圆形图片

    在Android应用开发中,UI设计往往需要实现各种各样的图形效果,其中圆角矩形和圆形图片是最常见的需求之一。`RoundRectLayout`是专门为解决此类问题而设计的一个自定义布局,它允许开发者轻松地创建具有任意圆角和...

    Android 完美实现图片圆角和圆形( bug修复后)

    在Android开发中,为图像添加圆角或将其转化为圆形是常见的需求,这通常涉及到自定义View的使用。本文将深入探讨如何在Android中完美实现图片的圆角和圆形效果,并修复可能遇到的bug。 首先,我们需要创建一个...

    Android 图片,圆角矩形或圆形显示

    在Android开发中,为了提升应用的用户体验,我们经常需要对图片进行处理,使其显示为圆角矩形或甚至是圆形。这种需求在用户头像、按钮背景等设计元素中尤为常见。本节将深入探讨如何在Android Studio中实现这一功能...

    android 圆角图标 和不规则圆角(边框)

    在Android开发中,为应用程序创建美观的用户界面是至关重要的,而圆角图标和不规则圆角边框是实现这一目标的常见设计元素。本文将深入探讨如何在Android平台上实现这两种效果,帮助开发者提升应用的视觉体验。 首先...

    Android 实现对话框圆角 模糊图片功能

    本文将深入探讨如何在Android Studio中实现对话框的圆角以及毛玻璃模糊效果,这两种特性常常被用于提升界面的美观度和交互性。 首先,让我们关注对话框的圆角效果。在Android中,对话框通常由`AlertDialog`或自定义...

Global site tag (gtag.js) - Google Analytics