tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
787
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Zhoragh
    Zhoragh Zhoragh ist offline Mitglied Silber
    Registriert seit
    Aug 2004
    Beiträge
    58
    Hallo,

    ich möchte gern ein von mir erstelltes/geladenes BufferedImage nachträglich halbtransparent machen.
    Eine Lösung von mir war es Pixelweise die Farbe auszulesen und diese durch eine halbtransparente Farbe zu ersetzen.
    Zwar führte das zum gewünschten Ergebniss aber wie man schon erahnen kann, dauert das ziemlich lang bei einem 600x800 Image.

    Falls mir jemand helfen kann wäre ich sehr dankbar.
     

  2. #2
    Avatar von schnuffie
    schnuffie schnuffie ist offline Mitglied Platin
    Registriert seit
    Oct 2004
    Ort
    Ober-Roden (Hessen)
    Beiträge
    725
    Damit gearbeitet habe ich noch nicht, doch es gibt für diese Zwecke Filter (z.B. RGB-Filter oder Grau-Filter) in Java.
     

  3. #3
    Avatar von Zhoragh
    Zhoragh Zhoragh ist offline Mitglied Silber
    Registriert seit
    Aug 2004
    Beiträge
    58
    Ich hab das ganze mit einem Filter wie folgt implementiert:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    public class ...
    {
      //Filter der die Farbe transparent macht
      private ImageFilter   transFilter = new TransparentFilter();
      //ImageProducer der das Image erzeugt
      private ImageProducer imageProducer;
      ...
     
      private void ...
      {
         ...
         imageProducer = new FilteredImageSourc(mapLayerTwoImage.getSource(),
                                                                       transFilter);
         mapLayerTwoDrawImage = createImage(imageProducer);
         ...
      }
      public void paint (Graphics g)
      {
         ...
         g.drawImage(mapLayerTwoDrawImage,0,0,this); //<-- an dieser Stelle tritt ein Nullpointer auf 
         //FEHLER : at sun.awt.image.OffScreenImageSource.sendPixels(OffScreenImageSource.java:102)
        //mapLayerTwoDrawImage beinhaltet ein sun.awt.windows.WImage@4d5 anstatt ein BufferImage
         ...
      }
    ...
    }

    Wie der Code schon zeigt hab ich das Problem das ich kein BufferedImage geliefert bekomme sondern ein WImage und dadurch ein Nulpointer verursache.

    kann mir jemand sagen, wie ich dies vermeiden kann.

    Dank Zhoragh
    Geändert von Zhoragh (22.11.04 um 21:42 Uhr)
     

Ähnliche Themen

  1. JTextField und JTextArea halbtransparent
    Von VinoRosso im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 7
    Letzter Beitrag: 08.01.08, 11:53
  2. DIV Background halbtransparent/blur
    Von mgraf im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 01.09.06, 11:39
  3. Halbtransparent fürs Web
    Von lukelukeluke im Forum Photoshop
    Antworten: 6
    Letzter Beitrag: 18.07.05, 13:22
  4. geladenes jpg speichern
    Von dfd im Forum Java
    Antworten: 1
    Letzter Beitrag: 08.08.04, 16:06
  5. schlagschatten halbtransparent?
    Von AxiaMoDer im Forum Photoshop
    Antworten: 13
    Letzter Beitrag: 21.08.03, 20:41