2016-07-02 3 views
1

Ich bin absolut neu in Android-Entwicklung und ich habe die folgenden Zweifel.Was ist die richtige Methode, um horizontal beabstandete Bilder in Canvas hinzuzufügen?

Ich habe Bilder nebeneinander in ein Canvas Objekt zeichnen.

So zum Beispiel lassen: Ich habe dieses Symbol (es ziemlich groß ist, und ich habe es auf die Größe):

enter image description here

Also muss ich 3 dieser Ikone setzen nebeneinander (Hinzufügen eines weißen Zwischenraums zwischen einem Bild und dem nächsten).

So habe ich so etwas getan:

// Load the 2 images for the creation of the "difficulty graphic": 
Bitmap chefHatOk = BitmapFactory.decodeResource(getResources(), R.drawable.chef_hat_ok); 

// Where the previus image will be drawn: 
Canvas canvas = new Canvas(); 

Deshalb denke ich, dass ich das vorherige Bild der Leinwand hinzufügen kann so etwas wie dies zu tun:

canvas.drawBitmap(smallImage, 0f, 0f, null); 

Ich denke, dass die erste 0f Wert stellen den horizontalen Abstand vor dem eingefügten Bild (Offset) dar, korrigieren Sie mich, wenn ich falsche Behauptung mache.

Also, wie kann ich 3 dieser Bilder nebeneinander hinzufügen und zwischen einem Bild und dem nächsten einen Leerraum lassen?

Antwort

1

So etwas sollte funktionieren:

Bitmap output = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); 
Canvas canvas = new Canvas(output); 

int space = 10; // the space between images 

for(int i = 0; i < 3; i++) { 
    canvas.drawBitmap(smallImage, i * (smallImage.getWidth() + space), 0, null); 
} 

// do whatever you want with output 
Verwandte Themen