Bitmap-Konvertierung: Erstellen einer Bitmap, die transparente Seiten von der transparenten Bitmap ausschließt

8

Ich habe eine Reihe von Bitmaps. Sie sind alle bis zu einem gewissen Grad transparent, und ich weiß nicht im Voraus, welche Teile transparent sind. Ich möchte eine neue Bitmap aus der ursprünglichen Bitmap erstellen, die die transparenten Teile ausschließt, aber in einem Quadrat. Ich denke, dieses Bild erklärt es:

Ich weiß, wie ich eine Bitmap aus einer vorhandenen Bitmap erzeuge, aber ich weiß nicht, wie ich herausfinden soll, welcher Teil transparent ist und wie ich das benutze, um mein Ziel zu erreichen.

So plane ich Folgendes:

%Vor%

Weiß jemand, wie man das erreicht?

BEARBEITEN:

Ich habe es mit dem folgenden Algorithmus funktioniert, um links, rechts, oben und unten Werte zu finden:

%Vor%     
Emiam 16.07.2011, 12:44
quelle

3 Antworten

5

Wenn alle Bilder, die Sie zuschneiden möchten, mehr oder weniger in der Mitte des Original-Canvas liegen, könnte es sein, dass Sie so etwas haben könnten:

  1. Beginnen Sie von jedem Rand ausgehend mit der Suche nach nicht transparenten Pixeln nach innen.
  2. Sobald Sie das obere linke Pixel und das rechte untere gefunden haben, haben Sie Ihr gewünschtes Ziel.
  3. Kopieren Sie das Bild wie Sie möchten

Nun bleibt die Frage, was Sie als transparentes Pixel betrachten. Ist Alpha-Transparenz wichtig? Wenn ja, wie viel Alpha, bis Sie entscheiden, dass es transparent genug ist, um aus dem Bild geschnitten zu werden?

    
Paulo Santos 16.07.2011, 12:50
quelle
6

Ich denke, das ist ein bisschen effizienter und es funktioniert gut für mich

%Vor%     
grubFX 30.09.2014 17:57
quelle
0

Um den nicht transparenten Bereich Ihrer Bitmap zu finden, durchlaufen Sie die Bitmap in x und y und suchen Sie nach dem Minimum und Maximum der nicht transparenten Region. Dann schneiden Sie die Bitmap auf diese Koordinaten.

%Vor%     
AMD 01.02.2016 13:22
quelle