欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-11-23 22:43:52
以下是封装好的两个类,可以实现图片的切割。仅供参考和学习。 一个是imagepiece类,此类保存了一个bitmap对象和一个标识图片的顺序索引的int变量。复制代码 代...

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

一个是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方法,不再做具体描述。