BufferedImage einzelne Pixel transparent machen V2.0

Arn

Mitglied
Hallo zusammen.

Ich habe ein Problem:
Ich habe einen Farb-Filter der die farbigen Pixel eines Bildes in eine andere Farbe umfärbt. der funktioniert toll, bis auf eine Kleinigkeit: die nicht völlig transparenten Pixel bekommen nach dem filtern eine transparenz von 255. die Methode zum Übernehmen der Transparenz sieht so aus:

Java:
 for (int x = 0; x < image.getWidth(); x++)
        {
           for (int y = 0; y < image.getHeight(); y++)
           {
 
            Color c = new Color(image.getRGB(x, y));
           if(c.getAlpha() >= 0){
            if((int)(c.getGreen()/2)==(int)(c.getBlue()2)&&(int)(c.getGreen()/2)==(int)(c.getRed()/2))
            {
            
            }
            else
            {
                
                    
                    //hier Code vom Filter     
                   
                    
                    System.out.println(c.getAlpha());
                    Color newcolor=new Color(newR,newG,newB,c.getAlpha());
                    image.setRGB(x, y, newcolor.getRGB());
            }   
           }
         }
        }

bei dem Outprint kommt immer 255 raus. wir hatten diesen Fehler schon einmal in diesem Forum. das Problem wurde damals gelöst indem sich heraus stellte das der Nutzer ein Bild benutzte das den Alpha-Kanal nicht unterstützte, das ist bei mir aber nicht der fall da das verarbeitete Bild vorher transparenzen hatte.

Vielen dank für alle Antworten.
 

javaDev2011

Mitglied
Hallo,

das Problem hatte ich auch schon mal, die Alpha-Werte sind manchmal nicht bei den RGB-Werten, sondern im "AlphaRaster" gespeichert.

So kann man die Alpha-Werte erhalten:
Java:
private void setRGBWithOldAlpha(BufferedImage bi, int x, int y, Color c) {
    if (bi.getAlphaRaster() != null) {
        int a = bi.getAlphaRaster().getSample(x, y, 0);
        bi.setRGB(x, y, c.getRGB());
        bi.getAlphaRaster().setSample(x, y, 0, a);
    } else {
        bi.setRGB(x, y, c.getRGB());
    }
}

Gruß javaDev2011
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D BufferedImage resize Allgemeine Java-Themen 16
RalleYTN JOGL Texture in BufferedImage konvertieren Allgemeine Java-Themen 1
M Input/Output BufferedImage vertauscht width und height Allgemeine Java-Themen 6
G BufferedImage und ByteArray Allgemeine Java-Themen 2
P Threads BufferedImage, Thread Concurrency Allgemeine Java-Themen 1
M Problem mit BufferedImage und PrinterJob im Querformat Allgemeine Java-Themen 1
T BufferedImage verändert sich beim Einlsesen Allgemeine Java-Themen 1
M BufferedImage toString() überschreiben Allgemeine Java-Themen 5
Thallius PDF von einem BufferedImage erstellen Allgemeine Java-Themen 1
S BufferedImage vergleich mit Subimage Allgemeine Java-Themen 1
reibi OutOfMemoryError bei Behandlung von BufferedImage's Allgemeine Java-Themen 6
TheSorm BufferedImage spiegeln Allgemeine Java-Themen 3
S Undoable BufferedImage? Allgemeine Java-Themen 2
lumo 2D-Grafik BufferedImage und operationen darauf Allgemeine Java-Themen 2
K Image zu BufferedImage konvertieren Allgemeine Java-Themen 9
H BufferedImage Invertieren Allgemeine Java-Themen 13
D md5 berechnen für BufferedImage Allgemeine Java-Themen 5
D BufferedImage rotieren Allgemeine Java-Themen 8
TiME-SPLiNTER Binary BufferedImage automatisch croppen Allgemeine Java-Themen 4
F byte[] aus einem BufferedImage Allgemeine Java-Themen 3
0 BufferedImage - Farbton verändern Allgemeine Java-Themen 5
J BufferedImage aus PNG Files haben keinen Type Allgemeine Java-Themen 4
T umwandeln BufferedImage to File Allgemeine Java-Themen 7
reibi BufferedImage nach InputStream Allgemeine Java-Themen 10
Q BufferedImage enzelne Pixel tranzparent machen Allgemeine Java-Themen 2
S BufferedImage mit Transparenten Hintergrund Allgemeine Java-Themen 4
Z Farbe des Pixels rechts unten in einem BufferedImage? Allgemeine Java-Themen 4
R problem! bufferedimage speichern. Allgemeine Java-Themen 7
S BufferedImage als *.tga speichern Allgemeine Java-Themen 3
H Pixel im BufferedImage Manipulieren ? Allgemeine Java-Themen 17
Steev BufferedImage und setRGB() Allgemeine Java-Themen 10
P miese performance bei nem BufferedImage + repaint :( Allgemeine Java-Themen 6
M Drucken mit BufferedImage Allgemeine Java-Themen 9
M Problem mit Durchsuchen von BufferedImage Allgemeine Java-Themen 10
I BufferedImage etc Allgemeine Java-Themen 6
F BufferedImage -> Image Allgemeine Java-Themen 4
G BufferedImage benutzen Allgemeine Java-Themen 6
U BufferedImage.getSubimage ? paintComponent ? Allgemeine Java-Themen 4
T Bilder schnell in BufferedImage laden Allgemeine Java-Themen 4
G BufferedImage zeichnen Allgemeine Java-Themen 4
T BufferedImage aus einem byte-Array? Allgemeine Java-Themen 2
T BufferedImage problem Allgemeine Java-Themen 6
K 32-Bit grayscale BufferedImage Allgemeine Java-Themen 2
T Geschwindigkeit bei Polygonen und BufferedImage Allgemeine Java-Themen 9
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
melaniemueller Einzelne Zeile aus einer txt Datei in einem String speichern Allgemeine Java-Themen 12
T Log4J - Deaktivierung für einzelne Klassen Allgemeine Java-Themen 7
Q Einzelne Java-Quelldatei veröffentlichen Allgemeine Java-Themen 8
O Java-Obfuscator, welcher einzelne Methoden, Klassen und Ordnerstrukturen ausnehmen kann. Allgemeine Java-Themen 1
O log4j - eigenes Log für einzelne Klasse Allgemeine Java-Themen 5
R SecurityManager für einzelne Klassen/Threads? Allgemeine Java-Themen 38
N Methoden Einzelne Daten aus "Person" auslesen Allgemeine Java-Themen 3
C aus einem String einzelne Hex Werte lesen Allgemeine Java-Themen 7
J String zerlegen in einzelne Strings Allgemeine Java-Themen 7
A einzelne Tage als Datum ausgeben Allgemeine Java-Themen 6
P Einzelne Bits in einem Byte-Array setzen Allgemeine Java-Themen 2
S Zugriff auf einzelne Bildpunkte Allgemeine Java-Themen 3
N String in einzelne Zeichen zerlegen Allgemeine Java-Themen 8
T (nur) HP Photosmart Drucker lässt einzelne Seiten aus Allgemeine Java-Themen 6
F Einzelne Einträge im Array als konstant festlegen Allgemeine Java-Themen 2
T Wo kann ich einzelne JARs herunterladen Allgemeine Java-Themen 3
R Einzelne Zeile manipulieren Allgemeine Java-Themen 4
G einzelne zeilen aus textArea auslesen Allgemeine Java-Themen 8
M einzelne Tastendrücke von der Konsole einlesen Allgemeine Java-Themen 3
G Einzelne Keys aus Properties-Datei auslesen Allgemeine Java-Themen 4
P byte -> einzelne bits auslesen ??? Allgemeine Java-Themen 4
S Einzelne Elemente in einer Bild Datei Allgemeine Java-Themen 5
berserkerdq2 Ein Gamepanel sei in 60x60 Pixel Quadrate aufgeteilt und isgesamt 600 Pixel breit & 300 Pixel hoch. Wie auf Quadrate zugreifen? Allgemeine Java-Themen 5
D Best Practice Gesamten Bildschirminhalt auslesen und Email schicken sobald kein Pixel sich ändert Allgemeine Java-Themen 11
U Koordinaten alle Pixel eines Dreiecks zeichnen ausgeben Allgemeine Java-Themen 5
F hex-farbwert der pixel aus bildern lesen Allgemeine Java-Themen 4
V Pixel-Farbe Allgemeine Java-Themen 10
H2SO3- Pixel länge von String ermitteln Allgemeine Java-Themen 4
M Problem beim Umrechnen von Pixel in cm. Allgemeine Java-Themen 6
U Pixel für Pixel abarbeiten Allgemeine Java-Themen 4
Ark Das effizienteste Pixel der Java-Welt Allgemeine Java-Themen 10
T Image mithilfe von DirectColorModel und Pixel erstellen Allgemeine Java-Themen 3
M JLabel an Textlänge anpassen / Textlänge in pixel Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben