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
*:图片
*@paramx
*: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();

}
}

更多相关文章

  1. Android 从网络加载图片
  2. Android从相机或相册获取图片裁剪
  3. android camera2 api点击图片实现聚焦
  4. Android 设置百度地图最大最小缩放级别
  5. android 读取sd卡中的图片
  6. Android drawableleft如何设置图片大小
  7. android自带图片资源图标一览,android.R.drawable
  8. ImageView设置图片大小

随机推荐

  1. Android(安卓)Recyclerview设置条目属性
  2. Android(安卓)ImageLoader组件加载图片
  3. android上方显示进度的进度条
  4. android 音乐播放工具类MediaPlayer
  5. Android(安卓)获取imu数据
  6. Android全局异常处理
  7. APK Signature
  8. Android(安卓)播放声音
  9. 美图秀秀自由拼图android实现
  10. Android(安卓)实现监听事件的几种方法