मैं एक जिग्स पहेली गेम बनाने की कोशिश कर रहा हूं, और मैं मास्क का उपयोग किए बिना पहेली टुकड़े बनाने के वैकल्पिक तरीकों के बारे में जानना चाहता हूं। वर्तमान में मेरे पास एक पूर्ण छवि लेकर जिग्स टुकड़े हैं, उस छवि को चार टुकड़ों में तोड़ना (मान लें कि पहेली 2x2 है) और उसके बाद प्रत्येक टुकड़े को एक मुखौटा संग्रहित करना और लागू करना। यह नीचे की तरह लग रहामास्क का उपयोग किए बिना जिग्स पहेली टुकड़े कैसे बनाएं?
// create standard puzzle pieces
arryPieceEndPos = new int[mCols][mRows];
arryPieceImg = new Bitmap[mCols * mRows];
arryIsPieceLocked = new boolean[mCols * mRows];
int pos = 0;
for (int c = 0; c < mCols; c++) {
for (int r = 0; r < mRows; r++) {
arryPieceImg[pos] = Bitmap.createBitmap(mBitmap,
c * mPieceWidth, r * mPieceHeight,
mPieceWidth, mPieceHeight);
arryIsPieceLocked[pos] = false;
arryPieceEndPos[c][r] = pos;
pos++;
}
}
मैं तो एक सहायक विधि का उपयोग प्रत्येक टुकड़ा
private Bitmap maskMethod(Bitmap bmpOriginal, Bitmap bmpMask) {
// adjust mask bitmap if size is not the size of the puzzle piece
if (bmpMask.getHeight() != mPieceHeight ||
bmpMask.getWidth() != mPieceWidth) {
Log.e("TEST", "Resize Error :: H (mask): " + bmpMask.getHeight() + " // W (mask): " +
bmpMask.getWidth());
Log.d("TEST", "Resize Error :: H (norm): " + mPieceHeight + " // W (norm): " +
mPieceWidth);
}
Canvas canvas = new Canvas();
Bitmap combine = Bitmap.createBitmap(bmpOriginal.getWidth(), bmpOriginal.getHeight(), Bitmap.Config.ARGB_8888);
canvas.setBitmap(combine);
Paint paint = new Paint();
paint.setFilterBitmap(false);
canvas.drawBitmap(bmpOriginal, 0, 0, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
canvas.drawBitmap(bmpMask, 0, 0, paint);
paint.setXfermode(null);
return combine;
}
मैं टुकड़ों को एक साथ जोड़ने के लिए इस पोस्ट>http://java.dzone.com/news/connect-pictures-android देखा करने के लिए एक मुखौटा लागू करने के लिए, हालांकि, इस से अधिक नहीं करता है मास्क के बिना प्रोग्रामेटिक रूप से टुकड़े पैदा करना। क्या कोई कोड उदाहरण प्रदान कर सकता है कि यह कैसे पूरा किया जा सकता है? मेरे पास एकमात्र सुराग है कि मुझे पथ का उपयोग करना चाहिए, हालांकि, मुझे अभी भी यकीन नहीं है कि कैसे। अग्रिम में धन्यवाद!
आपके उत्तर के लिए धन्यवाद। वाह, एक पूरी पहेली टुकड़ा आकार पाने के लिए और यह अच्छा लग रहा है बेहद जटिल है। अब मेरे पास समस्या पूरी छवि से टुकड़े बना रही है, न कि छवि के केवल एक वर्ग के कारण, क्योंकि मुझे इन टुकड़ों को चारों ओर स्थानांतरित करने में सक्षम होना चाहिए। आम तौर पर, एंड्रॉइड के लिए, मास्क का बेहतर विकल्प चुन रहा है? – portfoliobuilder
बिटमैप का हिस्सा पाने के लिए आप इस http://stackoverflow.com/a/8180576/2767703 का उपयोग कर सकते हैं। मुझे यकीन नहीं है कि क्या बेहतर है, लेकिन मास्क सीम का उपयोग करना बहुत आसान है। यदि आपको पथ और इस तरह का उपयोग करने में बहुत सारी समस्याएं हैं, तो यह मुखौटा के साथ अच्छा काम करता है, तो यह परेशानी के लायक नहीं हो सकता है –