zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

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

Android方法 实现 一个 图片 多个 中将
2023-06-13 09:14:53 时间

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

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

复制代码代码如下:

packagearui319.blog.csdn.net; 

importandroid.graphics.Bitmap; 

publicclassImagePiece{ 

   publicintindex=0; 

   publicBitmapbitmap=null; 


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

packagearui319.blog.csdn.net; 

importjava.util.ArrayList; 
importjava.util.List; 

importandroid.graphics.Bitmap; 

publicclassImageSplitter{ 

   publicstaticList<ImagePiece>split(Bitmapbitmap,intxPiece,intyPiece){ 

       List<ImagePiece>pieces=newArrayList<ImagePiece>(xPiece*yPiece); 
       intwidth=bitmap.getWidth(); 
       intheight=bitmap.getHeight(); 
       intpieceWidth=width/3; 
       intpieceHeight=height/3; 
       for(inti=0;i<yPiece;i++){ 
           for(intj=0;j<xPiece;j++){ 
               ImagePiecepiece=newImagePiece(); 
               piece.index=j+i*xPiece; 
               intxValue=j*pieceWidth; 
               intyValue=i*pieceHeight; 
               piece.bitmap=Bitmap.createBitmap(bitmap,xValue,yValue, 
                       pieceWidth,pieceHeight); 
               pieces.add(piece); 
           } 
       } 

       returnpieces; 
   } 



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