2011-08-05 16 views
6

बिटमैप के बाईं ओर 10 पंक्तियों को सभी सफेद कैसे सेट करें? मुझे एक बिटमैप मिला है जिसे बाईं ओर गद्देदार होना है। मैंने सोचा कि मैं एक नई छवि को नए बिटकमैप को वापस करने से पहले प्रत्येक स्थिति और सेटपिक्सल पर नए एक (सफेद या रंगीन) पर एक नया चित्र दोहरा सकता हूं ... क्या यह गलत है? कोई सुझाव? आपका बहुत बहुत धन्यवाद!एंड्रॉइड: पैडिंग ने सफेद रंग के साथ बिटमैप छोड़ा

उत्तर

0

आप यहाँ देखने के लिए चाहते हो सकता है:

http://download.oracle.com/javase/1.4.2/docs/api/java/awt/image/BufferedImage.html

विधि का उपयोग करना चाहते हो सकता है कर रहे हैं: getHeight() तो आप को पता सेट करना और दोहराना कितने पिक्सल पर 10 कॉलम

और setRGB (int x, int y, int आरजीबी) पिक्सेल

+0

इस एंड्रॉयड पर काम करता है करता है? मुझे एक बिटमैप (एंड्रॉइड क्लास) छवि मिली है ... BufferedImage पर स्विच करने के लिए कौन? धन्यवाद! – Jed84

16

सेट करने के लिए आप अतिरिक्त पैडिंग पिक्सल के साथ एक नया बिटमैप बना सकते हैं। इसे कैनवास बिटमैप के रूप में सेट करें और संपूर्ण छवि को आवश्यक रंग के साथ रंग दें और फिर अपनी बिटमैप कॉपी करें।

public Bitmap pad(Bitmap Src, int padding_x, int padding_y) { 
    Bitmap outputimage = Bitmap.createBitmap(Src.getWidth() + padding_x,Src.getHeight() + padding_y, Bitmap.Config.ARGB_8888); 
    Canvas can = new Canvas(outputimage); 
    can.drawARGB(FF,FF,FF,FF); //This represents White color 
    can.drawBitmap(Src, padding_x, padding_y, null); 
    return outputimage; 
} 
+0

बिल्कुल सही! धन्यवाद .. एक और प्रश्न समायोजित करें .. एक्स-ऑफसेट के लिए आपका मतलब है कि पहला पिक्सेल पैडिंग के बाद छोड़ा गया है? – Jed84

+0

आइए कहें कि मेरे पास डिमेंशन (w256, h104) के साथ बिटमैप है, क्या यह छवि को खींचने के बिना समान रूप से ऊपर और नीचे सफेद रिक्त स्थान जोड़कर इस छवि (w256, h128) को बनाने में सक्षम हो सकता है? – Pierre

+0

अच्छा लेकिन यह केवल बिटमैप के शीर्ष और बाईं ओर पिक्सेल जोड़ता है। सभी 4 पक्षों (शीर्ष, बाएं, दाएं, नीचे) के लिए कुछ भी नहीं मिला। –

0
public Bitmap addPaddingTopForBitmap(Bitmap bitmap, int paddingTop) { 
    Bitmap outputBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight() + paddingTop, Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(outputBitmap); 
    canvas.drawColor(Color.RED); 
    canvas.drawBitmap(bitmap, 0, paddingTop, null); 
    return outputBitmap; 
} 

public Bitmap addPaddingBottomForBitmap(Bitmap bitmap, int paddingBottom) { 
    Bitmap outputBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight() + paddingBottom, Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(outputBitmap); 
    canvas.drawColor(Color.RED); 
    canvas.drawBitmap(bitmap, 0, 0, null); 
    return outputBitmap; 
} 


public Bitmap addPaddingRightForBitmap(Bitmap bitmap, int paddingRight) { 
    Bitmap outputBitmap = Bitmap.createBitmap(bitmap.getWidth() + paddingRight, bitmap.getHeight(), Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(outputBitmap); 
    canvas.drawColor(Color.RED); 
    canvas.drawBitmap(bitmap, 0, 0, null); 
    return outputBitmap; 
} 

public Bitmap addPaddingLeftForBitmap(Bitmap bitmap, int paddingLeft) { 
    Bitmap outputBitmap = Bitmap.createBitmap(bitmap.getWidth() + paddingLeft, bitmap.getHeight(), Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(outputBitmap); 
    canvas.drawColor(Color.RED); 
    canvas.drawBitmap(bitmap, paddingLeft, 0, null); 
    return outputBitmap; 
} 
संबंधित मुद्दे