`
zhanhao
  • 浏览: 286637 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android图片圆角效果

 
阅读更多

圆角效果:



 

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Bitmap.Config;
import android.graphics.PorterDuff.Mode;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.ImageView;

public class Main extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
     
        setContentView(R.layout.main);  
        Drawable drawable = getResources().getDrawable(R.drawable.jpg1);
        BitmapDrawable bitmapDrawable = (BitmapDrawable)drawable;
        Bitmap bitmap = bitmapDrawable.getBitmap();   
      
         ImageView imageView = (ImageView)findViewById(R.id.imgShow);
         imageView.setImageBitmap(Main.getRoundedCornerBitmap(bitmap));       
       
    }
 // 将图片的四角圆化
    public static Bitmap getRoundedCornerBitmap(Bitmap bitmap) {
     
        Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), 
            bitmap.getHeight(), Config.ARGB_8888);
        //得到画布
        Canvas canvas = new Canvas(output);
    
       
       //将画布的四角圆化
        final int color = Color.RED; 
        final Paint paint = new Paint(); 
        //得到与图像相同大小的区域  由构造的四个值决定区域的位置以及大小
        final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); 
        final RectF rectF = new RectF(rect); 
        //值越大角度越明显
        final float roundPx = 50; 
      
        paint.setAntiAlias(true); 
        canvas.drawARGB(0, 0, 0, 0); 
        paint.setColor(color); 
        //drawRoundRect的第2,3个参数一样则画的是正圆的一角,如果数值不同则是椭圆的一角
        canvas.drawRoundRect(rectF, roundPx,roundPx, paint); 
      
        paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); 
        canvas.drawBitmap(bitmap, rect, rect, paint); 
      
        return output; 
      }
   
}

  • 大小: 16.5 KB
分享到:
评论
2 楼 luozhiren 2013-01-18  
         
1 楼 qq50956466 2011-09-22  
很实用

相关推荐

    Android图片 圆角效果 椭圆效果

    总结起来,Android实现图片圆角和椭圆效果主要依赖于Bitmap处理和自定义View的绘制。通过理解这些原理和方法,开发者可以灵活地根据项目需求创造出各种形状的图片展示效果。在实际项目中,选择合适的方式取决于性能...

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

    7. **兼容性问题**: 考虑到Android版本的差异,可能需要使用`NinePatch`图或者`android.graphics.drawable.GradientDrawable`来实现圆角效果,以确保在不同版本的Android设备上表现一致。 8. **XML布局支持**: 除了...

    android 图片圆角化

    总的来说,Android图片圆角化的实现方式多种多样,可以根据项目需求和性能考虑选择合适的方法。自定义`ImageView`虽然灵活性较高,但可能会增加代码复杂性;而利用现有的图片加载库则更简便,但可能牺牲一定的定制性...

    安卓头像制作图片圆角剪裁相关-快速实现Android图片圆角转换效果源码.rar

    首先,Android中实现图片圆角效果主要有以下几种方式: 1. **XML Shape Drawable**: 在XML布局文件中,可以创建一个`<shape>`标签,并设置`<solid>`和`<corners>`属性来实现圆角效果。例如: ```xml ...

    android图片圆角处理

    此外,Android SDK还提供了一个叫做`CornerTransform`的类,可以用来创建自定义的图片变换效果,包括圆角效果。不过,这个类在API 24及以上版本才可用,对于低版本的兼容性较差。 对于更复杂的圆角处理需求,例如...

    Android图片圆角

    "Android图片圆角"这个主题涉及到的技术点主要包括以下几个方面: 1. **自定义View**: 在Android中实现图片圆角效果,通常需要自定义一个ImageView的子类。通过重写`onDraw()`方法,利用Canvas的`drawRoundRect()`...

    Android-android-shape-imageview-图片圆角三角五角圆形多角

    1. **圆角图片**:在XML drawable中,你可以通过`<corners>`标签设置ImageView的圆角半径,实现圆角效果。例如: ```xml <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:...

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

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

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

    默认情况下,ImageView显示的是矩形图像,但通过自定义ImageView或对Bitmap进行操作,我们可以实现圆角效果。 对于Bitmap图片设置任意角为圆角,一种常见的方法是使用Canvas和Paint进行绘制。首先,我们需要创建一...

    Android设置图片圆角的方法

    Android中经常会遇到对图片进行二次处理,例如加圆角,或者显示圆形图片 实现的效果图: 方法一: ...//图片圆角为30 Glide.with(this).load(URL) //图片地址 .apply(options) .into(ImagView);

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

    在Android中,我们可以使用BitmapShader类来实现图片的圆角效果。BitmapShader是用于对位图进行着色的类,可以设置不同的Shader类型,如TILE_MODE_CLAMP、TILE_MODE_MIRROR等。对于圆角矩形图片,我们可以创建一个...

    Android图片圆角处理

    此外,如果你的应用场景允许,还可以使用Android的内置`android.graphics.drawable.RoundRectDrawable`或者`androidx.appcompat.graphics.drawable.DrawableWrapper`来实现圆角效果,这些内置组件通常更加高效且易于...

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

    对于圆角矩形,我们使用`getMatrixForCornerRadii()`方法来创建一个Matrix,该Matrix将应用于BitmapShader,使得在绘制时应用圆角效果。 `onDraw()`方法中,我们保存了当前的Canvas状态,然后调用父类的`onDraw()`...

    安卓头像制作图片圆角剪裁相关-android以不规则图片为边框切割另外的图片.rar

    1. **BitmapShader**: 使用BitmapShader对象可以将Bitmap应用于画布的画刷,通过设置Shader的TileMode为CLAMP,然后利用Matrix调整Shader的渐变区域,可以实现圆角效果。 2. ** PorterDuffXfermode**: 可以通过...

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

    首先,让我们关注对话框的圆角效果。在Android中,对话框通常由`AlertDialog`或自定义的`DialogFragment`来实现。要让对话框显示为圆形或具有圆角,我们需要自定义布局文件,然后设置这个布局作为对话框的内容视图。...

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

    本篇文章将深入探讨如何使用Picasso在Android应用中实现圆形图片和圆角图片。 首先,我们需要在项目中添加Picasso的依赖。如果你使用的是Gradle构建系统,可以在app模块的build.gradle文件中添加以下依赖: ```...

    简单实现android图片圆角和圆形

    总结来说,实现Android图片的圆角和圆形效果主要涉及自定义View、Canvas、Path和Bitmap的使用。理解这些基本概念和API是Android图形编程的关键,也是提升应用用户体验的重要手段。通过实践和学习,开发者可以创建出...

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

    通过BitmapShader,我们可以控制图像的显示形状,比如使其呈现圆角效果。 ```java protected void onDraw(Canvas canvas) { super.onDraw(canvas); if (mCornerRadius > 0) { // 创建BitmapShader ...

    android圆角编辑框

    此外,Android也支持通过设置`clipToOutline`属性来实现圆角效果,但这需要API 21及以上版本支持: ```xml ... android:background="@android:color/transparent" android:outlineProvider="bounds" android:...

    Android ImageView圆角图片 + 剪切

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

Global site tag (gtag.js) - Google Analytics