Android開發(fā)之圖片切割工具類定義與用法示例
本文實例講述了Android開發(fā)之圖片切割工具類定義與用法。分享給大家供大家參考,具體如下:
該工具類比較常見于拼圖游戲中使用。這里演示了類基本的定義與使用方法。
圖片切割工具類定義:
public class ImageSplitter
{
/**
* 將圖片切成 , piece *piece
*
* @param bitmap
* @param piece
* @return
*/
public static List<ImagePiece> split(Bitmap bitmap, int piece)
{
List<ImagePiece> pieces = new ArrayList<ImagePiece>(piece * piece);
int width = bitmap.getWidth();
int height = bitmap.getHeight();
Log.e("TAG", "bitmap Width = " + width + " , height = " + height);
int pieceWidth = Math.min(width, height) / piece;
for (int i = 0; i < piece; i++)
{
for (int j = 0; j < piece; j++)
{
ImagePiece imagePiece = new ImagePiece();
imagePiece.index = j + i * piece;
int xValue = j * pieceWidth;
int yValue = i * pieceWidth;
imagePiece.bitmap = Bitmap.createBitmap(bitmap, xValue, yValue,
pieceWidth, pieceWidth);
pieces.add(imagePiece);
}
}
return pieces;
}
}
圖片切割實體類:
public class ImagePiece
{
public int index = 0;
public Bitmap bitmap = null;
}
使用方法:
private void initBitmap()
{
if (mBitmap == null)
mBitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.aa);
List<ImagePiece> mItemBitmaps = ImageSplitter.split(mBitmap, mColumn);
Collections.sort(mItemBitmaps, new Comparator<ImagePiece>()
{
@Override
public int compare(ImagePiece lhs, ImagePiece rhs)
{
return Math.random() > 0.5 ? 1 : -1;
}
});
}
PS:這里再為大家推薦一款js實現(xiàn)的拼圖游戲供大家參考:
在線美女拼圖游戲:
http://tools.jb51.net/games/pintu
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android圖形與圖像處理技巧總結(jié)》、《Android開發(fā)入門與進(jìn)階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
- Android中使用Bitmap類將矩形圖片轉(zhuǎn)為圓形的方法
- Android圖片加載的緩存類
- 非常實用的Android圖片工具類
- Android開發(fā)之多媒體文件獲取工具類實例【音頻,視頻,圖片等】
- Android開發(fā)之圖片壓縮工具類完整實例
- Android開發(fā)實現(xiàn)的IntentUtil跳轉(zhuǎn)多功能工具類【包含視頻、音頻、圖片、攝像頭等操作功能】
- Android開發(fā)之超強(qiáng)圖片工具類BitmapUtil完整實例
- Android圖片處理工具類BitmapUtils
- Android編程圖片加載類ImageLoader定義與用法實例分析
- Android編程圖片操作類定義與用法示例【拍照,相冊選圖及裁剪】
相關(guān)文章
Android設(shè)備藍(lán)牙連接掃描槍獲取掃描內(nèi)容
這篇文章主要為大家詳細(xì)介紹了Android設(shè)備藍(lán)牙連接掃描槍獲取掃描內(nèi)容,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
Android開發(fā)中Activity創(chuàng)建跳轉(zhuǎn)及傳值的方法
這篇文章主要介紹了Android開發(fā)中Activity創(chuàng)建跳轉(zhuǎn)及傳值的方法的相關(guān)資料,需要的朋友可以參考下2016-05-05
Android Socket實現(xiàn)多個客戶端即時通信聊天
這篇文章主要為大家詳細(xì)介紹了Android Socket實現(xiàn)多個客戶端即時通信聊天,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04
a2sd+狀態(tài)下應(yīng)用程序丟失的解決方法詳細(xì)解析
用了a2sd+和SD分區(qū)方案的朋友可能會遇到突然某次開機(jī)之后,a2sd+失效,同時發(fā)生丟失若干應(yīng)用程序的現(xiàn)象或者安裝軟件提示空間不足2013-09-09
Android 抽屜效果的導(dǎo)航菜單實現(xiàn)代碼實例
本篇文章主要介紹了Android 抽屜效果的導(dǎo)航菜單實現(xiàn)代碼實例,這種側(cè)滑的抽屜效果的菜單很好,有興趣的可以了解一下。2016-12-12
21天學(xué)習(xí)android開發(fā)教程之MediaPlayer
21天學(xué)習(xí)android開發(fā)教程之MediaPlayer,MediaPlayer可以播放音頻和視頻,操作相對簡單,感興趣的小伙伴們可以參考一下2016-02-02
OpenHarmony實現(xiàn)類Android短信驗證碼及倒計時流程詳解
這篇文章主要介紹了OpenHarmony實現(xiàn)類Android短信驗證碼及倒計時流程,發(fā)送短信驗證碼后,一般在界面上都會有一個倒計時的顯示.在安卓中,實現(xiàn)類似的倒計時有多種方式,當(dāng)然背后的基本原理都是設(shè)定一個初始值,然后每過一定的間隔時間執(zhí)行操作2022-11-11
Android使用ViewPager實現(xiàn)頂部tabbar切換界面
這篇文章主要為大家詳細(xì)介紹了使用ViewPager實現(xiàn)頂部tabbar切換界面,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
詳解Android數(shù)據(jù)存儲—使用SQLite數(shù)據(jù)庫
本篇文章主要介紹了詳解Android數(shù)據(jù)存儲—使用SQLite數(shù)據(jù)庫,具有一定的參考價值,有興趣的可以了解一下。2017-03-03

