`

android编程中的琐碎知识点汇总(3)

阅读更多

1.图片加载方法,方便用户加载图片

/***
 * 加载本地图片
 * 
 * @param context
 *            :主运行函数实例
 * @param bitAdress
 *            :图片地址,一般指向R下的drawable目录
 * @return
 */
public final Bitmap CreatImage(Context context, int bitAdress) {
	Bitmap bitmaptemp = null;
	bitmaptemp = BitmapFactory.decodeResource(context.getResources(),
			bitAdress);
	return bitmaptemp;
}

 2.图片平均分割方法,将大图平均分割为N行N列,方便用户使用

/***
 * 图片分割
 * 
 * @param g
 *            :画布
 * @param paint
 *            :画笔
 * @param imgBit
 *            :图片
 * @param x
 *            :X轴起点坐标
 * @param y
 *            :Y轴起点坐标
 * @param w
 *            :单一图片的宽度
 * @param h
 *            :单一图片的高度
 * @param line
 *            :第几列
 * @param row
 *            :第几行
 */
public final void cuteImage(Canvas g, Paint paint, Bitmap imgBit, int x,
		int y, int w, int h, int line, int row) {
	g.clipRect(x, y, x + w, h + y);
	g.drawBitmap(imgBit, x - line * w, y - row * h, paint);
	g.restore();
}

 3.图片缩放,对当前图片进行缩放处理

/***
 * 图片的缩放方法
 * 
 * @param bgimage
 *            :源图片资源
 * @param newWidth
 *            :缩放后宽度
 * @param newHeight
 *            :缩放后高度
 * @return
 */
public Bitmap zoomImage(Bitmap bgimage, int newWidth, int newHeight) {
	// 获取这个图片的宽和高
	int width = bgimage.getWidth();
	int height = bgimage.getHeight();
	// 创建操作图片用的matrix对象
	Matrix matrix = new Matrix();
	// 计算缩放率,新尺寸除原始尺寸
	float scaleWidth = ((float) newWidth) / width;
	float scaleHeight = ((float) newHeight) / height;
	// 缩放图片动作
	matrix.postScale(scaleWidth, scaleHeight);
	Bitmap bitmap = Bitmap.createBitmap(bgimage, 0, 0, width, height,
			matrix, true);
	return bitmap;
}

 4.绘制带有边框的文字,一般在游戏中起文字的美化作用

/***
 * 绘制带有边框的文字
 * 
 * @param strMsg
 *            :绘制内容
 * @param g
 *            :画布
 * @param paint
 *            :画笔
 * @param setx
 *            ::X轴起始坐标
 * @param sety
 *            :Y轴的起始坐标
 * @param fg
 *            :前景色
 * @param bg
 *            :背景色
 */
public void drawText(String strMsg, Canvas g, Paint paint, int setx,
		int sety, int fg, int bg) {
	paint.setColor(bg);
	g.drawText(strMsg, setx + 1, sety, paint);
	g.drawText(strMsg, setx, sety - 1, paint);
	g.drawText(strMsg, setx, sety + 1, paint);
	g.drawText(strMsg, setx - 1, sety, paint);
	paint.setColor(fg);
	g.drawText(strMsg, setx, sety, paint);
	g.restore();
}

 5.图片分割的最简便方式

public final Bitmap cuteImage(Bitmap _imgBit, int _startX, int width,
int _startY, int height) {
	Bitmap tempMap = null;
	tempMap = Bitmap.createBitmap(_imgBit, _startX, _startY, width, height);
	return tempMap;
}

 6.字符串分行显示

public String[] StringFormat(String text, int maxWidth, int fontSize) {
	String[] result = null;
	Vector<String> tempR = new Vector<String>();
	int lines = 0;
	int len = text.length();
	int index0 = 0;
	int index1 = 0;
	boolean wrap;
	while (true) {
		int widthes = 0;
		wrap = false;
		for (index0 = index1; index1 < len; index1++) {
			if (text.charAt(index1) == '\n') {
				index1++;
				wrap = true;
				break;
			}
			widthes = fontSize + widthes;
			if (widthes > maxWidth) {
				break;
			}
		}
		lines++;
		if (wrap) {
			tempR.addElement(text.substring(index0, index1 - 1));
		} else {
			tempR.addElement(text.substring(index0, index1));
		}
		if (index1 >= len) {
			break;
		}
	}
	result = new String[lines];
	tempR.copyInto(result);
	return result;
}
分享到:
评论

相关推荐

    PHP那些琐碎的知识点(整理)

    在其开发过程中,有许多细节性的知识点可能不那么...以上总结的这些知识点,虽然看似琐碎,但在实际开发过程中却非常有用。掌握这些知识点,能够帮助开发者更有效地编写PHP代码,同时避免一些常见的错误和性能问题。

    数据库表的琐碎知识3.sql

    数据库表的琐碎知识3.sql

    Oracle琐碎知识

    Oracle琐碎知识点,帮助学习和使用。

    javaMail,XSLT,正则等琐碎知识

    本话题涵盖了“javaMail”、“XSLT”以及“正则表达式”等琐碎但实用的知识点,这些都是编程工作中经常会遇到的工具和技术。接下来,我们将深入探讨这些主题。 首先,让我们来看看“javaMail”。JavaMail是一个开源...

    android开发精要.mobi

    它从Android繁杂的源代码中抽取出了Android开发的“精华”和“要点”,剥离了大量琐碎的底层实现细节,进行了高度概括和总结,不仅能帮助开发者迅速从宏观上理解整个Android系统的设计理念,而且能帮助开发者迅速从...

    数据库表的琐碎知识.sql

    数据库表的琐碎知识.sql

    典型案例教学在《Android开发技术》课程中的应用.pdf

    首先,课程内容可能显得枯燥乏味,由于涉及的知识点众多且琐碎,包括事件处理、界面布局、组件编程(如Activity、Service、BroadcastReceiver、Content Provider、Intent)、数据库编程、多媒体处理、图片处理、网络...

    C++学习的琐碎点

    在深入探讨C++学习过程中的琐碎点与注意点时,我们首先应当明确,C++是一种功能强大且灵活的编程语言,它结合了C语言的高效性和面向对象编程的特性,广泛应用于系统软件、游戏开发、高性能计算等领域。然而,正是...

    数据库表的琐碎知识6.sql

    数据库表的琐碎知识6.sql

    数据库表的琐碎知识5.sql

    数据库表的琐碎知识5.sql

    数据库表的琐碎知识4.sql

    数据库表的琐碎知识4.sql

    数据库表的琐碎知识2.sql

    数据库表的琐碎知识2.sql

    Android学习路线探讨.pdf

    Android的知识体系大致可以分为以下几个部分:基本知识点、深入知识点、基本知识点细节、系统核心机制、琐碎知识点等。 **基本知识点**包括Android四大组件(Activity、Service、BroadcastReceiver、...

    一些关于Java的琐碎知识点

    在Java编程语言中,有多个重要的知识点涉及到类的属性、继承、构造方法、访问修饰符、抽象方法、JNI以及内部类等。以下是这些知识点的详细解释: 1. **final属性**:final关键字用于声明不可变的变量。对于非静态...

    Android-AndroidStudio快速创建常用工具类的插件

    在Android开发过程中,提高效率是每个开发者关注的重点。Android Studio作为官方推荐的集成开发环境(IDE),提供了丰富的功能和插件支持,以帮助开发者更好地管理项目和代码。本篇文章将详细探讨“Android-Android...

    《Android开发精要》范怀宇 PDF

    剥离了大量琐碎的底层实现细节,进行了高度概括和总结,不仅能帮助开发者迅速从宏观上理解整个Android系统的设计理念,而且能帮助开发者迅速从微观上掌握核心知识点的原理,从而编写出高质量的Android应用。...

    android-studio-ide-202.7351085-windows

    在“android-studio-ide-202.7351085-windows”这个压缩包中,我们找到了适用于64位Windows系统的Android Studio 4.2.1版本。这个版本不仅包含了开发所需的基本组件,还更新了许多功能和优化,以提升开发者的体验。 ...

    数据库表的琐碎知识8_表的约束.sql

    数据库表的琐碎知识8_表的约束.sql

    数据库表的琐碎知识7_高级分组子句.sql

    数据库表的琐碎知识7_高级分组子句.sql

    Linux Shell编程艺术.7z.003

    Linux Shell编程艺术.7z...本书通过大量的应用实例,以循序渐进的方式,由浅入深地逐步介绍shell的各个知识点,从而引领读者轻松跨过shell程序设计的门槛,最终摆脱繁忙而且低效率的工作状态,达到轻松管理系统的目的。

Global site tag (gtag.js) - Google Analytics