文档章节

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

AK_47
 AK_47
发布于 2014/07/09 17:41
字数 456
阅读 20
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

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

AK_47
粉丝 16
博文 533
码字总数 569998
作品 0
嘉定
程序员
私信 提问
加载中
请先登录后再评论。
Netty那点事(三)Channel与Pipeline

Channel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Channel部分中Pipeline实现机制。为了避免枯燥,借用一下《盗梦空间》的...

黄亿华
2013/11/24
2W
22
访问安全控制解决方案

本文是《轻量级 Java Web 框架架构设计》的系列博文。 今天想和大家简单的分享一下,在 Smart 中是如何做到访问安全控制的。也就是说,当没有登录或 Session 过期时所做的操作,会自动退回到...

黄勇
2013/11/03
3.5K
6
浅入浅出Android(003):使用TextView类构造文本控件

基础: TextView是无法供编辑的。 当我们新建一个项目MyTextView时候,默认的布局(/res/layout/activity_main.xml)中已经有了一个TextView: <TextView 运行效果如下: 修改其文本内容...

樂天
2014/03/22
663
1
beego API开发以及自动化文档

beego API开发以及自动化文档 beego1.3版本已经在上个星期发布了,但是还是有很多人不了解如何来进行开发,也是在一步一步的测试中开发,期间QQ群里面很多人都问我如何开发,我的业余时间实在...

astaxie
2014/06/25
2.7W
22
树莓派(Raspberry Pi):完美的家用服务器

自从树莓派发布后,所有在互联网上的网站为此激动人心的设备提供了很多有趣和具有挑战性的使用方法。虽然这些想法都很棒,但树莓派( RPi )最明显却又是最不吸引人的用处是:创建你的完美家用...

异次元
2013/11/09
6.6K
8

没有更多内容

加载失败,请刷新页面

加载更多

matplotlib基础绘图命令之imshow

欢迎关注”生信修炼手册”! 在matplotlib中,imshow方法用于绘制热图,基本用法如下 import matplotlib.pyplot as plt import numpy as np np.random.seed(123456789) data = np.random...

庐州月光
昨天
0
0
[Bazel]自定义工具链

1 前言 2 Non-Platform 方式 3 Platform 方式 3.1 平台 3.2 工具链 3.3 Platform + Toolchain 实现平台方式构建 4 小结 1 前言 本文会讲述 Bazel 自定义工具链的两种方式,Platform 和 Non-...

别打名名
前天
0
0
浏览器在输入URL后,到底发生了什么?

这是一道面试会经常问的问题,平时虽然很常见的操作,但是探究其底层原理,可能并不是一件简单的事情,于是我从各处搜罗整理下全过程,在这里做分享。 第一步:浏览器输入域名 例如输入:www...

lintao111
前天
0
0
通过注解的方式整合 MyBatis + Spring Boot

目录 目录 1. 前言 2. 整合过程 2.1 新建 Spring Boot 项目 2.2 添加 pom 依赖 2.3 准备数据库 2.4 pojo 层 2.5 dao 层 2.7 controller 层 2.8 入口程序配置 2.9 网页测试 1. 前言 本篇博客主...

村雨遥
前天
0
0
字节跳动AI Lab 秋季正式批招聘

0 1 公司简介 字节跳动AI Lab,成立于2016年,致力于开发为字节跳动内容平台服务的创新技术,不仅仅是进行理论研究,我们的想法还可以通过实验证明和快速跟踪用于产品部署。 人工智能涉及的研...

我爱计算机视觉
前天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部