Android图片处理实例分析
作者:llyofdream 时间:2022-09-10 20:34:50
本文实例讲述了Android图片处理的方法。分享给大家供大家参考,具体如下:
package cn.szbw.util;
import Android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;
public class Utils {
/***
* 加载本地图片
* @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
*:图片
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();
}
}
希望本文所述对大家Android程序设计有所帮助。
标签:Android,图片处理
0
投稿
猜你喜欢
Android中3种全屏方法及3种去掉标题栏的方法
2023-11-07 18:45:51
Android 配置gradle实现VersionCode自增实例
2021-07-03 12:39:23
C# 添加、修改以及删除Excel迷你图表的实现方法
2023-04-06 22:07:27
Android超实用的Toast提示框优化分享
2022-12-20 08:36:32
.net与javascript脚本的交互方法总结
2021-09-11 09:21:32
Android从服务器获取图片的实例方法
2022-08-27 04:03:46
新手学习Java对Redis简单操作
2023-09-10 05:05:41
C语言多功能动态通讯录实现示例
2022-11-16 09:12:44
SpringMVC实现文件上传和下载功能
2022-10-03 18:22:27
关于cron表达式每天整点执行一次的问题
2023-06-24 13:51:27
SpringBoot整合mybatis-plus进阶详细教程
2023-11-27 05:13:12
关于Java虚拟机HotSpot
2022-10-28 18:36:01
springboot之端口设置和contextpath的配置方式
2023-10-05 14:16:20
详解Java token主流框架之JWT
2022-03-30 19:30:34
IntelliJ IDEA使用git初始化仓库的使用方法
2022-05-24 12:37:26
Java微信公众号开发之通过微信公众号获取用户信息
2021-12-16 08:19:19
C#引用类型和值类型的介绍与实例
2022-08-11 16:24:34
Java和C#输入输出流的方法(详解)
2022-06-24 09:21:02
Java高版本Api在Android中的使用方法详解
2023-01-19 20:03:08
Spring整合Quartz实现定时任务调度的方法
2023-07-07 00:55:55