Android图片处理实例分析

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

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

标签:Android,图片处理
0
投稿

猜你喜欢

  • Android中3种全屏方法及3种去掉标题栏的方法

    2023-11-07 18:45:51
  • Android 配置gradle实现VersionCode自增实例

    2021-07-03 12:39:23
  • C# 添加、修改以及删除Excel迷你图表的实现方法

    2023-04-06 22:07:27
  • Android超实用的Toast提示框优化分享

    2022-12-20 08:36:32
  • .net与javascript脚本的交互方法总结

    2021-09-11 09:21:32
  • Android从服务器获取图片的实例方法

    2022-08-27 04:03:46
  • 新手学习Java对Redis简单操作

    2023-09-10 05:05:41
  • C语言多功能动态通讯录实现示例

    2022-11-16 09:12:44
  • SpringMVC实现文件上传和下载功能

    2022-10-03 18:22:27
  • 关于cron表达式每天整点执行一次的问题

    2023-06-24 13:51:27
  • SpringBoot整合mybatis-plus进阶详细教程

    2023-11-27 05:13:12
  • 关于Java虚拟机HotSpot

    2022-10-28 18:36:01
  • springboot之端口设置和contextpath的配置方式

    2023-10-05 14:16:20
  • 详解Java token主流框架之JWT

    2022-03-30 19:30:34
  • IntelliJ IDEA使用git初始化仓库的使用方法

    2022-05-24 12:37:26
  • Java微信公众号开发之通过微信公众号获取用户信息

    2021-12-16 08:19:19
  • C#引用类型和值类型的介绍与实例

    2022-08-11 16:24:34
  • Java和C#输入输出流的方法(详解)

    2022-06-24 09:21:02
  • Java高版本Api在Android中的使用方法详解

    2023-01-19 20:03:08
  • Spring整合Quartz实现定时任务调度的方法

    2023-07-07 00:55:55
  • asp之家 软件编程 m.aspxhome.com