public class GraphicUtils {
/***
* 加载本地图片
* @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;

}

/***
* 加载本地图片
* @param url:图片地址,手机目录
* @return
*/

public final Bitmap CreateBitmapFromLocal(String url) {
try {
if(url == "")
return null;
FileInputStream fis = new FileInputStream(url);
return BitmapFactory.decodeStream(fis); ///把流转化为Bitmap图片

} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
}
}

//图片平均分割方法,将大图平均分割为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();

}

//图片缩放,对当前图片进行缩放处理

/***

* 图片的缩放方法
* * @param bgimage
*:源图片资源
* @param newWidth
*:缩放后宽度
* @param newHeight
*:缩放后高度
* @return
*/

public Bitmap zoomImage(Bitmap bgimage, int newWidth, int newHeight) {

// 获取这个图片的宽和高
if(bgimage == null){
return null;
}
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内置图片,比如menu->add的加号图片,search的放大镜
  2. Android(安卓)网络通信框架Volley简介
  3. Android(安卓)UI学习 - GridView和ImageView的使用
  4. Android百度地图之显示地图
  5. Android(安卓)Universal Image Loader 源码分析(转载)
  6. android 相对布局,代码创建imageview,布局居中问题
  7. Android(安卓)MPAndroidChart:动态添加统计数据线【8】
  8. Android之---RecycleView实现简单的图片查看功能(类似相册查看器)
  9. Android(安卓)图片转换为 Base64 编码

随机推荐

  1. c语言标识符有哪些
  2. C语言中printf,sprintf和fprintf的区别是
  3. Ruby如何生成随机数
  4. 为什么安全编码标准很重要
  5. 如何编写C程序?C程序的基本编写规则
  6. 什么是C#接口
  7. c语言中什么是转义字符
  8. c++检查两个二进制搜索树是否相同
  9. 什么是Ruby
  10. .NET是什么