Android图片处理实例分析
程序员文章站
2024-03-07 15:07:21
本文实例讲述了android图片处理的方法。分享给大家供大家参考,具体如下:
package cn.szbw.util;
import android.cont...
本文实例讲述了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图形与图像处理技巧总结》、《android开发入门与进阶教程》、《android调试技巧与常见问题解决方法汇总》、《android多媒体操作技巧汇总(音频,视频,录音等)》、《android基本组件用法总结》、《android视图view技巧总结》、《android布局layout技巧总结》及《android控件用法总结》
希望本文所述对大家android程序设计有所帮助。