android 图片分析,Android图片处理实例分析

本文实例讲述了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程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值