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代码,同时避免一些常见的错误和性能问题。
数据库表的琐碎知识3.sql
Oracle琐碎知识点,帮助学习和使用。
本话题涵盖了“javaMail”、“XSLT”以及“正则表达式”等琐碎但实用的知识点,这些都是编程工作中经常会遇到的工具和技术。接下来,我们将深入探讨这些主题。 首先,让我们来看看“javaMail”。JavaMail是一个开源...
它从Android繁杂的源代码中抽取出了Android开发的“精华”和“要点”,剥离了大量琐碎的底层实现细节,进行了高度概括和总结,不仅能帮助开发者迅速从宏观上理解整个Android系统的设计理念,而且能帮助开发者迅速从...
数据库表的琐碎知识.sql
首先,课程内容可能显得枯燥乏味,由于涉及的知识点众多且琐碎,包括事件处理、界面布局、组件编程(如Activity、Service、BroadcastReceiver、Content Provider、Intent)、数据库编程、多媒体处理、图片处理、网络...
在深入探讨C++学习过程中的琐碎点与注意点时,我们首先应当明确,C++是一种功能强大且灵活的编程语言,它结合了C语言的高效性和面向对象编程的特性,广泛应用于系统软件、游戏开发、高性能计算等领域。然而,正是...
数据库表的琐碎知识6.sql
数据库表的琐碎知识5.sql
数据库表的琐碎知识4.sql
数据库表的琐碎知识2.sql
Android的知识体系大致可以分为以下几个部分:基本知识点、深入知识点、基本知识点细节、系统核心机制、琐碎知识点等。 **基本知识点**包括Android四大组件(Activity、Service、BroadcastReceiver、...
在Java编程语言中,有多个重要的知识点涉及到类的属性、继承、构造方法、访问修饰符、抽象方法、JNI以及内部类等。以下是这些知识点的详细解释: 1. **final属性**:final关键字用于声明不可变的变量。对于非静态...
在Android开发过程中,提高效率是每个开发者关注的重点。Android Studio作为官方推荐的集成开发环境(IDE),提供了丰富的功能和插件支持,以帮助开发者更好地管理项目和代码。本篇文章将详细探讨“Android-Android...
剥离了大量琐碎的底层实现细节,进行了高度概括和总结,不仅能帮助开发者迅速从宏观上理解整个Android系统的设计理念,而且能帮助开发者迅速从微观上掌握核心知识点的原理,从而编写出高质量的Android应用。...
在“android-studio-ide-202.7351085-windows”这个压缩包中,我们找到了适用于64位Windows系统的Android Studio 4.2.1版本。这个版本不仅包含了开发所需的基本组件,还更新了许多功能和优化,以提升开发者的体验。 ...
数据库表的琐碎知识8_表的约束.sql
数据库表的琐碎知识7_高级分组子句.sql
Linux Shell编程艺术.7z...本书通过大量的应用实例,以循序渐进的方式,由浅入深地逐步介绍shell的各个知识点,从而引领读者轻松跨过shell程序设计的门槛,最终摆脱繁忙而且低效率的工作状态,达到轻松管理系统的目的。