当前位置:首页 > 开发 > 移动开发 > 正文

Drawable常用处理方法

发表于: 2015-05-08   作者:elviszhao   来源:转载   浏览次数:
摘要: public class DrawableTool { /** * Drawable转化为Bitmap * * @param drawable * @return Bitmap */ public static Bitmap drawableToBitmap(Drawable drawable) { // 取 drawable 的长宽 int
public class DrawableTool {

	/**
	 * Drawable转化为Bitmap
	 * 
	 * @param drawable
	 * @return Bitmap
	 */
	public static Bitmap drawableToBitmap(Drawable drawable) {
		// 取 drawable 的长宽
		int w = drawable.getIntrinsicWidth();
		int h = drawable.getIntrinsicHeight();

		// 取 drawable 的颜色格式
		Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
				: Bitmap.Config.RGB_565;
		// 建立对应 bitmap
		Bitmap bitmap = Bitmap.createBitmap(w, h, config);
		// 建立对应 bitmap 的画布
		Canvas canvas = new Canvas(bitmap);
		drawable.setBounds(0, 0, w, h);
		// 把 drawable 内容画到画布中
		drawable.draw(canvas);
		return bitmap;
	}

	/**
	 * Drawable缩放
	 * 
	 * @param context
	 * @param drawable
	 * @param w
	 *            目标宽度
	 * @param h
	 *            目标高度
	 * @return Drawable
	 */
	public static Drawable zoomDrawable(Context context, Drawable drawable,
			int w, int h) {
		int width = drawable.getIntrinsicWidth();
		int height = drawable.getIntrinsicHeight();
		// drawable转换成bitmap
		Bitmap oldbmp = drawableToBitmap(drawable);
		// 创建操作图片用的Matrix对象
		Matrix matrix = new Matrix();
		// 计算缩放比例
		float sx = ((float) w / width);
		float sy = ((float) h / height);
		// 设置缩放比例
		matrix.postScale(sx, sy);
		// 建立新的bitmap,其内容是对原bitmap的缩放后的图
		Bitmap newbmp = Bitmap.createBitmap(oldbmp, 0, 0, width, height,
				matrix, true);
		return new BitmapDrawable(context.getResources(), newbmp);
	}

}

 

Drawable常用处理方法

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1、在oracle中 null 缺省会认为是最大值 ,因此 select id,description from security_application w
近期笔者几篇文章介绍了改nullnull的文章. 关联文章的地址 每日一道理 爱,有的时候不需要山盟海誓
数字图像处理的基本原理和常用方法 数字图像处理是指将图像信号转换成数字信号并利用计算机对其进行
1.StateListDrawable资源 StateListDrawable对象多显示的Drawable对象会随着目标组件状态的改变而自
Android's drawables对编写程序是非常有用的。A Drawable通常是一个与view相关的插件后的画图容器。
Android's drawables对编写程序是非常有用的。A Drawable通常是一个与view相关的插件后的画图容器。
一、similar 用来识别文章中和搜索词相似的词语,可以用在搜索引擎中的相关度识别功能中。 text1.si
本讲内容:Drawable及其相关类的使用 一个让人赏心悦目的界面对软件来说非常重要,因此图形图像资源
Drawable Resource 一个Drawable资源是绘图中的一个普通概念,可以再屏幕上绘制出来。可以通过APIs
传统UI开发中,如果背景的大小不一样,一般需要为每种大小都制作一张图片,这在button中尤为明显。当
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号