图片圆角处理


package com.storm.ui;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.PorterDuff.Mode;
import android.graphics.PorterDuffXfermode;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.widget.ImageView;

/**
* 圆角图片
*
* @author Chao
* */

public class RoundedCornerImageView extends ImageView {

private final float density = getContext().getResources()
.getDisplayMetrics().density;
private float roundness;

public RoundedCornerImageView(Context context) {
super(context);

init();
}

public RoundedCornerImageView(Context context, AttributeSet attrs) {
super(context, attrs);

init();
}

public RoundedCornerImageView(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);

init();
}

@Override
public void draw(Canvas canvas) {
final Bitmap composedBitmap;
final Bitmap originalBitmap;
final Canvas composedCanvas;
final Canvas originalCanvas;
final Paint paint;
final int height;
final int width;

width = getWidth();

height = getHeight();

composedBitmap = Bitmap.createBitmap(width, height,
Bitmap.Config.ARGB_8888);
originalBitmap = Bitmap.createBitmap(width, height,
Bitmap.Config.ARGB_8888);

composedCanvas = new Canvas(composedBitmap);
originalCanvas = new Canvas(originalBitmap);

paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.BLACK);

super.draw(originalCanvas);

composedCanvas.drawARGB(0, 0, 0, 0);

composedCanvas.drawRoundRect(new RectF(0, 0, width, height),
this.roundness, this.roundness, paint);

paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));

composedCanvas.drawBitmap(originalBitmap, 0, 0, paint);

canvas.drawBitmap(composedBitmap, 0, 0, new Paint());
}

public float getRoundness() {
return this.roundness / this.density;
}

public void setRoundness(float roundness) {
this.roundness = roundness * this.density;
}
private void init() {
setRoundness(5);
}
}

图片圆角处理

时间: 2024-11-03 22:01:33

图片圆角处理的相关文章

iOS图片圆角设置的正确姿势

最近从上一家公司辞职,一直处于待业状态,顺便再家里带带闺女,今天有时间,所以写点东西,希望刚开始接触iOS开发的小白能够有所收获. 在iOS开发中圆角图片很常见,但是我们一般在设置图片圆角的时候几乎都是这样设置的: UIImageView *image = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 50, 50)]; image.layer.cornerRadius = 25.0; image.layer.masksToBoun

div css3 border-radius 之圆角 DIV圆角 图片圆角

CSS3之border-radius圆角 DIV盒子圆角 图片圆角,CSS3样式实现盒子对象圆角.图片圆角效果.div css3 border-radius圆角样式教程篇.一.css3单词与语法结构 - TOP(体感音乐床垫) 1.DIVCSS3圆角单词:border-radius 2.语法结构 div{border-radius:5px} 设置DIV对象盒子四个角5像素圆角效果 div{border-radius:5px 0;} 设置DIV对象盒子左上角和右下角5px圆角,其它两个角为0不圆角

图片圆角效果

public static Bitmap getRoundCornerImage(Bitmap bitmap, int roundPixels) { //创建一个和原始图片一样大小位图 Bitmap roundConcerImage = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); //创建带有位图roundConcerImage的画布 Canvas canvas = new Canva

CSS3图片圆角+阴影特效

使用CSS3技术编写的图片圆角及阴影特效代码,与一般的图片阴影有些不一样,用CSS直接生成阴影,当然要比使用图片来修饰要好得多,图片的加载可能会影响到网页的加载,CSS就不会哦. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=&q

Glide的加载图片的帮助类,用来把图片圆角或者改成圆形图片

Glide虽然非常好用但是没找到把图片圆角的方法,所以百度了一个非常不错的加载类自己实现圆角图 感谢原文章作者:http://blog.csdn.net/weidongjian/article/details/47144549 自定义一个extend BitmapTransformation的方法,把获得的bitmap转化成圆形图片 import android.content.Context; import android.content.res.Resources; import andro

wpf 设置图片圆角

设置页面布局的时候.遇到了设置图片圆角问题,然后试了几种方法,都可以 第一种: <Border CornerRadius="50" BorderBrush="Blue" BorderThickness="2" Width="200" Height="200"> <Border.Background> <ImageBrush ImageSource="\pj\123.j

Android 完美实现图片圆角和圆形(对实现进行分析)

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24555655 本来想在网上找个圆角的样例看一看,不尽人意啊,基本都是官方的Demo的那张原理图.稍后会贴出. 于是自己自己定义了个View,实现图片的圆角以及圆形效果.效果图: 第一个是原图,第二个是圆形效果.第三第四设置了不同的圆角大小. 准备改变一个博客的风格,首先给大家讲一下原理,让大家明确了,然后再贴代码,不然能够直接看那么长的代码也比較痛苦.核心代码事实上就那么几行:

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

本来想在网上找个圆角的例子看一看,不尽人意啊,基本都是官方的Demo的那张原理图,稍后会贴出.于是自己自定义了个View,实现图片的圆角以及圆形效果.效果图: 好了,原理和核心代码解释完成.下面开始写自定义View. 1.自定义属性: 第一个是原图,第二个是圆形效果,第三第四设置了不同的圆角大小. 准备改变一个博客的风格,首先给大家讲一下原理,让大家明白了,然后再贴代码,不然可以直接看那么长的代码也比较痛苦,核心代码其实就那么几行: 核心代码分析: /** * 绘制 */ @Override p

关于在css里设置图片圆角的问题

今天做了一个项目,效果图内页的产品图片都是带圆角的,于是前端的做了圆角的效果,div+css是这样的,首先div布局是: <div class="tiandi_item" onclick="javascript:location.href='#'"> <div class="tiandi_item_img"><img src="images/tiandi_04.jpg" /></div