Android中将一个图片切割成多个图片的实现方法

以下是封装好的两个类,可以实现图片的切割。仅供参考和学习。

一个是ImagePiece类,此类保存了一个Bitmap对象和一个标识图片的顺序索引的int变量。


代码如下:

package arui319.blog.csdn.net;

import android.graphics.Bitmap;

public class ImagePiece {

public int index = 0;

public Bitmap bitmap = null; 
}

一个是ImageSplitter类,有一个静态方法split,传入的参数是要切割的Bitmap对象,和横向和竖向的切割片数。比如传入的是3、3,则横竖向都切割成3片,最终会将整个图片切割成3X3=9片。


代码如下:

package arui319.blog.csdn.net;

import java.util.ArrayList; 
import java.util.List;

import android.graphics.Bitmap;

public class ImageSplitter {

public static List<ImagePiece> split(Bitmap bitmap, int xPiece, int yPiece) {

List<ImagePiece> pieces = new ArrayList<ImagePiece>(xPiece * yPiece); 
        int width = bitmap.getWidth(); 
        int height = bitmap.getHeight(); 
        int pieceWidth = width / 3; 
        int pieceHeight = height / 3; 
        for (int i = 0; i < yPiece; i++) { 
            for (int j = 0; j < xPiece; j++) { 
                ImagePiece piece = new ImagePiece(); 
                piece.index = j + i * xPiece; 
                int xValue = j * pieceWidth; 
                int yValue = i * pieceHeight; 
                piece.bitmap = Bitmap.createBitmap(bitmap, xValue, yValue, 
                        pieceWidth, pieceHeight); 
                pieces.add(piece); 
            } 
        }

return pieces; 
    }

}

这里的切割,主要使用的是Bitmap对象的createBitmap方法,不再做具体描述。

(0)

相关推荐

  • Android中将一个图片切割成多个图片的实现方法

    以下是封装好的两个类,可以实现图片的切割.仅供参考和学习. 一个是ImagePiece类,此类保存了一个Bitmap对象和一个标识图片的顺序索引的int变量. 复制代码 代码如下: package arui319.blog.csdn.net; import android.graphics.Bitmap; public class ImagePiece { public int index = 0; public Bitmap bitmap = null;  } 一个是ImageSplitter

  • Java实现将png格式图片转换成jpg格式图片的方法【测试可用】

    本文实例讲述了Java实现将png格式图片转换成jpg格式图片的方法.分享给大家供大家参考,具体如下: import java.awt.Color; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class ConvertImageFile { public static void main(Str

  • java中将一个List等分成n个list的工具方法(推荐)

    实例如下: /** * 将一个list均分成n个list,主要通过偏移量来实现的 * @param source * @return */ public static <T> List<List<T>> averageAssign(List<T> source,int n){ List<List<T>> result=new ArrayList<List<T>>(); int remaider=source.s

  • js实现头像图片切割缩放及无刷新上传图片的方法

    本文实例讲述了js实现头像图片切割缩放及无刷新上传图片的方法.分享给大家供大家参考.具体如下: fname:后台接收时用的名字, 必填 funstr:开始上传执行的函数, 默认无 funbak:上传成功后的回调函数, 必填 furl:上传地址: 默认当前form的提交页面 注意:上传地址和当前地址必须为同意域名否则回调函数获取不到 上传成功发回的地址.   a.php: $path='a.jpg'; move_uploaded_file($_FILES['uimg']['tmp_name'],$

  • Android中把bitmap存成BMP格式图片的方法

    最近的项目,做图片的另存为功能,需要把图片存成jpg,png,bmp.对于jpg和png来说相对简单,android提供了bitmap.compress()方法可以马上解决.但是对于BMP这种格式,没有很好的支持.我花了几天时间在网上找了很久,都没有找到有用的答案,同样也发了疑问,没有合适的解答. package com.test.bitmap; import java.io.FileNotFoundException; import java.io.FileOutputStream; impo

  • asp.net中将某字符串切割成阵列并排序列出

    复制代码 代码如下: protected void Page_Load(object sender, EventArgs e) { string s = "a;b;d;z;y;u"; string[] sa = s.Split(';'); Array.Sort(sa); //排序 for (int i = 0; i < sa.Length; i++) { Response.Write(sa[i].ToString() + "<br />"); }

  • JavaScript 图片切割效果(放大镜)第1/4页

    上一个版本由于是初次接触这类效果,而且是三个大功能一起开发,能力所限,所以仅仅是实现了效果就完成了. 近来我把其中的 拖放效果 和 缩放效果 单独出来研究,经过整理和完善,再套进切割效果,个人感觉效果已经不错了. 要说明的是这个只是一个效果,并不是真正的切割图片,要获取真正的切割图片请参考 图片切割系统 . 效果预览请看这里 完整实例下载代码太多贴不出来,只好给个效果图: 程序说明 这个效果主要分三个部分:层的拖放.层的缩放.图片切割(包括预览). 其中 层的拖放 和 层的缩放 我已经在其他两篇

  • python3 实现验证码图片切割的方法

    切割前图片 切割后四个图片 代码 #coding:utf8 import os from PIL import Image,ImageDraw,ImageFile import numpy import pytesseract import cv2 import imagehash import collections class pictureIdenti: #rownum:切割行数:colnum:切割列数:dstpath:图片文件路径:img_name:要切割的图片文件 def spliti

  • Android开发之图片切割工具类定义与用法示例

    本文实例讲述了Android开发之图片切割工具类定义与用法.分享给大家供大家参考,具体如下: 该工具类比较常见于拼图游戏中使用.这里演示了类基本的定义与使用方法. 图片切割工具类定义: public class ImageSplitter { /** * 将图片切成 , piece *piece * * @param bitmap * @param piece * @return */ public static List<ImagePiece> split(Bitmap bitmap, in

  • Android 将本地资源图片转换成Drawable,进行设置大小操作

    前言: 因为项目中显示图片是用Picasso,设置placeholder和error图片的时候发现,本地图片的大小无法满足我的需求,需要先对图片大小改变再显示. Picasso的placeholder和error的参数也只有int resId和Drawable drawable 于是打算将改变过大小的Drawable传进入显示,咦,效果很满意! 整个过程的思路: 将本地图片(R.drawable.image)变成Drawable对象 将Drawable对象转换成Bitmap对象 将Bitmap对

随机推荐