Ein Image langsam einblenden und nach 5 Sekunden ausblenden?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Ich habe ein allgemeines Verständnisproblem.
Ich möchte ein Spiel programmieren. Am Anfang soll ein Intro eingeblendet werden.
Als Intro soll ein Bild langsam eingeblendet werden, einige Zeit präsentiert und langsam ausgeblendet wird.
In einer Hauptklasse wird ein JFrame erzeugt. In der Intro klasse wird ein JLabel Objekt erzeugt:


Code:
JLabel img = new JLabel(new ImageIcon(getClass().getResource("titelbild.jpg")));

Das wiederum wird in der Hauptklasseüber ein JPane in dem JFrame dargestellt:
Code:
Container contentPane=getContentPane();
contentPane.setLayout( new FlowLayout() ); 
contentPane.setBackground(new Color(255, 255, 255));
               
                
Pane2 = new JPanel();
Pane2.setLayout( new BorderLayout() );
Pane2.setBackground(new Color(255, 25, 255));
Pane2.setPreferredSize(new Dimension(700,500));
Pane2.setMaximumSize(new Dimension(700,500));
Pane2.setMinimumSize(new Dimension(700,500));
Pane2.setVisible(true);

Intro intro = new Intro();
test = intro.Intro();
Pane2.add(test);
contentPane.add(Pane2);


Gibt es erstmal einen einfacheren Weg um das JLabel direct in das JFrame zu platzieren?

Und ist so was mit Image langsam einblenden und ausblenden möglich?
 

Wildcard

Top Contributor
Einfacheren weg? Ist doch nur eine Zeile ???:L
Code:
panel.add(label)
Zum ein und ausblenden musst die mit Threads und Transparenz arbeiten.
Um ein wenig einlesen wirst du nicht herumkommen
 

el_vital

Aktives Mitglied
wo kann ich was über Transparenz nachlesen?

die Schritte könnte ich ja einfach in einer for-Schleife mit
Code:
 try {
      Thread.sleep(5);
      } catch (InterruptedException ex) {
       }

erreichen!?
 

Wildcard

Top Contributor
Ja, die Schritte kannst du so erreichen.
Für den Effekt darzustellen empfehle ich dir das Bild nicht als ImageIcon auf ein Label zu packen, sondern bei einer
JComponent die painComponent() zu überschreiben und dort das Bild zu zeichnen.
Dem dort übergebenen Graphics Objekt kannst du einen Alpha-Wert für die Transparenz setzen.
 

el_vital

Aktives Mitglied
Ich habe es jetzt erstmal so gemacht:
Code:
class Startseite extends JPanel {

    private Image image ;
    private BufferedImage buffer ;


    Startseite () {
        loadImage();
    }

    private void loadImage() {

        image = Toolkit.getDefaultToolkit().getImage(getClass().getResource("titelbild2.jpg"));

        if (image == null) {System.out.println("Fehler, kann bild nicht finden") ; }

        System.out.println(image.toString()) ;
        MediaTracker mt = new MediaTracker(this) ;

        try {

            mt.addImage(image, 0) ;
            mt.waitForID(0) ;

        }catch(InterruptedException er) {}

        int imgW = image.getWidth(this) ;
        int imgH = image.getHeight(this) ;


        buffer = new BufferedImage(imgW,imgH, BufferedImage.TYPE_INT_ARGB) ;
        Graphics2D g2 = buffer.createGraphics() ;

        g2.drawImage(image, 0,0,this) ;

        g2.dispose() ;

    }

    protected void paintComponent(Graphics g) {


        Graphics2D g2 = (Graphics2D) g;
        Composite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.2f) ;
        g2.setComposite(alpha) ;
        Dimension size = getSize() ;


        int imgW = image.getWidth(this) ;
        int imgH = image.getHeight(this) ;
        for (int row = 0 ; row < size.height ; row += imgH) {

            for (int col = 0 ; col < size.width ; col += imgW) {
                g2.drawImage(image, col,row,this) ;

            }
        }
        super.paintComponent(g);
    }
}

debei kann ich ja den SRC_OVER Wert zwischen 1.0 und 0.0 ändern.
Es ist z.B. bei 0.5 transparent. Bei 1.0 ist die Oberfläche dunkel und das Bild garnicht zu sehen. Bei 0.0 ist es hell und das Bild ist ebenfalls nicht zu sehen.

Wie kann ich es machen, dass das Bild voll zu sehen ist?
 

el_vital

Aktives Mitglied
kann mir keiner weiter helfen?

Jetzt funktioniert alles, es wird eingeblendet, nur nicht zu ende.
Es bleibt noch einwenig transparent... :(
 
G

Guest

Gast
el_vital hat gesagt.:
Ich habe es jetzt erstmal so gemacht:
Code:
class Startseite extends JPanel {

    private Image image ;
    private BufferedImage buffer ;


    Startseite () {
        loadImage();
    }

    private void loadImage() {

        image = Toolkit.getDefaultToolkit().getImage(getClass().getResource("titelbild2.jpg"));

        if (image == null) {System.out.println("Fehler, kann bild nicht finden") ; }

        System.out.println(image.toString()) ;
        MediaTracker mt = new MediaTracker(this) ;

        try {

            mt.addImage(image, 0) ;
            mt.waitForID(0) ;

        }catch(InterruptedException er) {}

        int imgW = image.getWidth(this) ;
        int imgH = image.getHeight(this) ;


        buffer = new BufferedImage(imgW,imgH, BufferedImage.TYPE_INT_ARGB) ;
        Graphics2D g2 = buffer.createGraphics() ;

        g2.drawImage(image, 0,0,this) ;

        g2.dispose() ;

    }

    protected void paintComponent(Graphics g) {


        Graphics2D g2 = (Graphics2D) g;
        Composite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.2f) ;
        g2.setComposite(alpha) ;
        Dimension size = getSize() ;


        int imgW = image.getWidth(this) ;
        int imgH = image.getHeight(this) ;
        for (int row = 0 ; row < size.height ; row += imgH) {

            for (int col = 0 ; col < size.width ; col += imgW) {
                g2.drawImage(image, col,row,this) ;

            }
        }
        super.paintComponent(g);
    }
}

debei kann ich ja den SRC_OVER Wert zwischen 1.0 und 0.0 ändern.
Es ist z.B. bei 0.5 transparent. Bei 1.0 ist die Oberfläche dunkel und das Bild garnicht zu sehen. Bei 0.0 ist es hell und das Bild ist ebenfalls nicht zu sehen.

Wie kann ich es machen, dass das Bild voll zu sehen ist?
ich glaube, du musst den hintergrund auch neu zeichnen, sonst überlagert es sich bis es schwarrz wird...bin aber auch ein newbie auf dem gebiet und habe mir deinen code nicht genau durchgelesen
 

el_vital

Aktives Mitglied
es wird alles neu gezeichnet, aber...
Wenn alpha Wert bei 0.0 ist, ist es weis. Bis ca. 0.2 wird das Bild eingeblendet und ab da bleibt es einwenig transparent, danach wird es immer dunkler bis es bei 0.99 ganz grau ist.
 

el_vital

Aktives Mitglied
ok, ich habe raus gefunden woran es lag.
Sobald ich folgendes rauskomentiert habe, lief es:

Code:
super.paintComponent(g);

kann mir jemand kurz erklären was diese Zeile bewirkte?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Area mit Teil-Image füllen Java Basics - Anfänger-Themen 0
B Image Matching in Memory Minigame Java Basics - Anfänger-Themen 7
J JLabel bzw. Image Icon mit KeyEvent bewgen Java Basics - Anfänger-Themen 9
Butzibu Image Loader lädt nicht alle Bilder: Java Basics - Anfänger-Themen 4
Schniffi Nur bestimmte Bilder aus einem Array auf Image Button anzeigen lassen Java Basics - Anfänger-Themen 3
T Image Icon Java Basics - Anfänger-Themen 3
K File (png) in Image laden Java Basics - Anfänger-Themen 3
M Image löschen Java Basics - Anfänger-Themen 2
G Image in Vordergrund Java Basics - Anfänger-Themen 3
B InputStream (PDF) nach Image (PNG / JPG) konvertieren? Java Basics - Anfänger-Themen 2
S Image Datei selektieren und in Projekt Verzeichnis abspeichern/kopieren Java Basics - Anfänger-Themen 16
N Best Practice Image recognition fuzzy Superhash berechnen Java Basics - Anfänger-Themen 1
H Image laden Java Basics - Anfänger-Themen 4
R Image drehen Java Basics - Anfänger-Themen 1
R Image Teilen Java Basics - Anfänger-Themen 3
B Image laden im GridBagLayout Java Basics - Anfänger-Themen 3
N Image von Resource wird nicht geladen Java Basics - Anfänger-Themen 2
N Datentypen Image zu Byte-Array Java Basics - Anfänger-Themen 4
F Image wird nicht gezeichent?! Java Basics - Anfänger-Themen 21
N Hintergrund image mit .setContentPane Java Basics - Anfänger-Themen 6
W aus Methode auf JLabel zugreifen und Image verändern Java Basics - Anfänger-Themen 1
S buffered image Java Basics - Anfänger-Themen 18
V Scale displayed Image via JCheckBox Java Basics - Anfänger-Themen 1
I Resize Image - Einlesen von InputStream Java Basics - Anfänger-Themen 3
M Image Download klappt nicht mehr Java Basics - Anfänger-Themen 4
Chava Testprojekt.Text.Image.Button Java Basics - Anfänger-Themen 4
S Image nach MausMotion rotieren Java Basics - Anfänger-Themen 7
L Erste Schritte Java Image und Video-Slideshow GUI Java Basics - Anfänger-Themen 3
D Kleinere Positionsangabe als einzelne Pixel bei Image? Java Basics - Anfänger-Themen 28
S Image in Panel laden Java Basics - Anfänger-Themen 12
H Prüfen, ob jpg image schon vorhanden ist, bevor es geladen wird Java Basics - Anfänger-Themen 13
V Image Crawler Java Basics - Anfänger-Themen 3
P Erste Schritte Buffered Image splitten und darstellen Java Basics - Anfänger-Themen 2
P Erste Schritte Image anzeigen in ausführbarer jar mit der Toolkit class Java Basics - Anfänger-Themen 8
T udp -> bytearray -> image -> ausgabe via frame Java Basics - Anfänger-Themen 6
A Image (Bitmap) in String (für XML) Java Basics - Anfänger-Themen 7
F Buffered Image über Socket versenden Java Basics - Anfänger-Themen 6
T Image ist Null - warum? Java Basics - Anfänger-Themen 18
V Image -> 2D Array (int [][]) Java Basics - Anfänger-Themen 4
L Image laden und auf jPanel ausgeben Java Basics - Anfänger-Themen 7
V FileInputStream auf ein swt.Image Java Basics - Anfänger-Themen 6
A Wie kann man etwas von Typ Image wieder löschen? Java Basics - Anfänger-Themen 7
F Image übertragen und zeichnen Java Basics - Anfänger-Themen 8
G Problem mit Image.IO.read( File ) Java Basics - Anfänger-Themen 3
G Image spiegeln Java Basics - Anfänger-Themen 17
Y Trotz add wird Image in GradBagLayout nicht angezeigt Java Basics - Anfänger-Themen 5
Spin Image helper Java Basics - Anfänger-Themen 6
M Image Metadaten setzen Java Basics - Anfänger-Themen 2
Spin Backgrond Color von Image ermitteln Java Basics - Anfänger-Themen 2
C Image draw... Java Basics - Anfänger-Themen 7
M Image-Icon Ändern Java Basics - Anfänger-Themen 15
J Image upload auf ImageShack,TinyPic usw. Java Basics - Anfänger-Themen 11
R Image laden die Zweite Java Basics - Anfänger-Themen 4
R Image laden Java Basics - Anfänger-Themen 10
M Image zeichenen mit Double Werten Java Basics - Anfänger-Themen 4
B polyline auf buffered image malen Java Basics - Anfänger-Themen 2
G Image to File Java Basics - Anfänger-Themen 4
T Image Position erkennen Java Basics - Anfänger-Themen 6
Spin Image skalieren Java Basics - Anfänger-Themen 2
Spin Background Image Java Basics - Anfänger-Themen 2
K Image / drawImage Java Basics - Anfänger-Themen 2
P Buffered Image, Bereich ausschneiden Java Basics - Anfänger-Themen 3
F Image Editor Java Basics - Anfänger-Themen 2
R Image aus jar laden (dieses mal awt) Java Basics - Anfänger-Themen 19
B Image flimmert Java Basics - Anfänger-Themen 4
Povlsen84 Image exakt erzeugen Java Basics - Anfänger-Themen 5
B Teile einer Image in neue Image kopieren Java Basics - Anfänger-Themen 4
X ARGB Werte auslesen aus Image Java Basics - Anfänger-Themen 2
O Image Loader laedt bild nicht Java Basics - Anfänger-Themen 11
H String to image! Java Basics - Anfänger-Themen 6
H2SO3- image beim awt frame wegmachen Java Basics - Anfänger-Themen 2
M Probleme mit Manifest und Image Java Basics - Anfänger-Themen 2
T Java Bilderverwaltung - Image Fetcher Problem Java Basics - Anfänger-Themen 4
E Image in Datei speichern bzw anzeigen Java Basics - Anfänger-Themen 5
G Image laden Java Basics - Anfänger-Themen 16
O Drag & Drop mit Image? Java Basics - Anfänger-Themen 2
G Image/-Icon wird nicht auf JPanel angezeigt Java Basics - Anfänger-Themen 4
M Image aus JPanel Java Basics - Anfänger-Themen 2
G Kompletten (image) Array löschen Java Basics - Anfänger-Themen 14
P Fileinputstream to image? Java Basics - Anfänger-Themen 3
G Image Problem Java Basics - Anfänger-Themen 5
G Image Java Basics - Anfänger-Themen 3
M draw.Image Java Basics - Anfänger-Themen 11
O Image laden Java Basics - Anfänger-Themen 6
G Image Java Basics - Anfänger-Themen 2
S Image-Datei mit relativem Pfad angeben Java Basics - Anfänger-Themen 3
S Botton und Image kombinieren Java Basics - Anfänger-Themen 3
S import javax.image.io.*; funktioniert nicht Java Basics - Anfänger-Themen 28
D Image drehen Java Basics - Anfänger-Themen 6
DeeDee0815 Uncaught error fetching image Java Basics - Anfänger-Themen 2
A Image erstellen Java Basics - Anfänger-Themen 3
N Grösse eines Image ändern? Java Basics - Anfänger-Themen 4
I Image Dateinformationen auslesen Java Basics - Anfänger-Themen 7
A image uploader applet Java Basics - Anfänger-Themen 10
S image speichern Java Basics - Anfänger-Themen 12
D ImageIO metadata auslesen aus png image Java Basics - Anfänger-Themen 2
G Ausmaße eines Image-Object herrausfinden Java Basics - Anfänger-Themen 4
R Einem Image-Object Alpha-Transparenz hinzufügen Java Basics - Anfänger-Themen 3
S Image in byte[] umwandeln? Java Basics - Anfänger-Themen 2
U Image einlesen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben