qq三国怎么快速开技能:实现Android图片圆角
来源:百度文库 编辑:偶看新闻 时间:2024/07/04 05:11:15
实现Android图片圆角时间:2011-10-13 15:41来源:未知 作者:匿名 点击:19次-
public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(output); final int color = 0xff424242; 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 = pixels; 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); return output; }当我们需要圆角的时候,调用这个方法,第一个参数是传入需要转化成圆角的图片,第二个参数是圆角的度数,数值越大,圆角越大
下面兴趣个例子,我有一个LinearLayout,我想把它的背景图片设置成圆角
布局文件main.xml
package com.test.demo;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PorterDuff.Mode;import android.graphics.PorterDuffXfermode;import android.graphics.Rect;import android.graphics.RectF;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.widget.ImageView;import android.widget.LinearLayout;public class MyActivity 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.bg); // BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable; // Bitmap bitmap = bitmapDrawable.getBitmap(); LinearLayout layout = (LinearLayout) findViewById(R.id.layout); Drawable drawable = getResources().getDrawable(R.drawable.bg); BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable; Bitmap bitmap = bitmapDrawable.getBitmap(); BitmapDrawable bbb = new BitmapDrawable(toRoundCorner(bitmap, 30)); layout.setBackgroundDrawable(bbb); //ImageView imageView = (ImageView) findViewById(R.id.imgShow); //imageView.setImageBitmap(MyActivity.getRoundedCornerBitmap(bitmap)); //imageView.setImageBitmap(MyActivity.toRoundCorner(bitmap, 20)); } public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(output); final int color = 0xff424242; 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 = pixels; 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); return output; }} 更多 顶一下(0)0.00%踩一下(0)0.00%------分隔线---------------------------- 上一篇:动态改变Android控件大小 下一篇:实现Android的消息通知栏 收藏 挑错 推荐 打印 本文来自:Java问问(http://www.javaask.com) 详细出处参考:http://www.javaask.com/mobile/android/2011/1013/9118.html
public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(output); final int color = 0xff424242; 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 = pixels; 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); return output; }当我们需要圆角的时候,调用这个方法,第一个参数是传入需要转化成圆角的图片,第二个参数是圆角的度数,数值越大,圆角越大
下面兴趣个例子,我有一个LinearLayout,我想把它的背景图片设置成圆角
布局文件main.xml
package com.test.demo;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PorterDuff.Mode;import android.graphics.PorterDuffXfermode;import android.graphics.Rect;import android.graphics.RectF;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.widget.ImageView;import android.widget.LinearLayout;public class MyActivity 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.bg); // BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable; // Bitmap bitmap = bitmapDrawable.getBitmap(); LinearLayout layout = (LinearLayout) findViewById(R.id.layout); Drawable drawable = getResources().getDrawable(R.drawable.bg); BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable; Bitmap bitmap = bitmapDrawable.getBitmap(); BitmapDrawable bbb = new BitmapDrawable(toRoundCorner(bitmap, 30)); layout.setBackgroundDrawable(bbb); //ImageView imageView = (ImageView) findViewById(R.id.imgShow); //imageView.setImageBitmap(MyActivity.getRoundedCornerBitmap(bitmap)); //imageView.setImageBitmap(MyActivity.toRoundCorner(bitmap, 20)); } public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(output); final int color = 0xff424242; 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 = pixels; 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); return output; }} 更多 顶一下(0)0.00%踩一下(0)0.00%------分隔线---------------------------- 上一篇:动态改变Android控件大小 下一篇:实现Android的消息通知栏 收藏 挑错 推荐 打印 本文来自:Java问问(http://www.javaask.com) 详细出处参考:http://www.javaask.com/mobile/android/2011/1013/9118.html
如何实现圆角图片
paranoid android中文歌词
radiohead 的 Paranoid Android 中文翻译
图片Forbidden 如何实现?
怎么实现循环显示图片??
怎样在一张图片实现图片变换?
现流行的“实现图片切换”,怎么实现???
怎样实现图片和文字一起滚动??
如何实现flash图片循环滚动移动?
如何实现flash图片上下循环滚动?
PHP能不能在图片上实现超链接`
photoshop中怎么实现图片无缝拼接?
网页里怎么实现图片自由运动?
请问,图片横向不间断移动怎样实现?
怎样用DreamweaverMX实现图片的验证系统!
jsp当中如何实现图片文件上传?
asp中怎么实现图片自动排序
DreamWeaver实现 掉入图片,在线等
javascript 实现图片按钮的方法改进
怎样实现这样的图片效果?
怎样实现这样的图片效果?
ASP 如何实现鼠标移动换图片?
如何实现动态控制显示图片位置
如何实现word自动载入图片