您的位置:首页 > 移动开发 > Android开发

Android下图片处理的的一些方法

2013-04-10 15:19 435 查看
1.图片加载方法,方便用户加载图片

/***

* 加载本地图片

* @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

* :图片

* @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();

}

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();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: