软件编程
位置:首页>> 软件编程>> Android编程>> Android图片处理实例分析

Android图片处理实例分析

作者:llyofdream  发布时间:2022-09-10 20:34:50 

标签: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
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com