Also mache ich eine Stopmotion-Anwendung - der Live-Feed von meiner Webcam ist in einem JPanel (mit setOpaque (false)) innerhalb der obersten (10.) Ebene in einem JLayeredPane - und im Grunde, Wenn ich ein Bild mache, möchte ich es zu einer der unteren Ebenen hinzufügen, damit eine Spur der vorherigen Bilder auf dem Bildschirm angezeigt wird. Hier ist, wie ich versuche, das jetzt zu tun:Transluzentes Bild zu JLayeredPane hinzufügen
EDIT: das ist meine neue Code basierend auf der Antwort unten - das tut jetzt nichts, im Gegensatz zu nur das opake Bild wie zuvor hinzufügen - wenn ich das hinzufügen aber zu einem JPanel, hinzufügen und die JPanel zum JLayeredPane, dann alles, was ich bekommen ist grau
BufferedImage img2 = new BufferedImage(img.getWidth(), img.getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics2D g = img2.createGraphics();
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, .5f));
g.drawImage(img2, 0, 0, null);
g.dispose();
ImageIcon imgIcon = new ImageIcon(new ImageIcon(img2).getImage().getScaledInstance(img2.getWidth(), img2.getHeight(), Image.SCALE_SMOOTH));
JLabel showPic = new JLabel(imgIcon);
showPic.setSize(layers.getSize());
showPic.setBounds(layers.getX() + 18, layers.getY(), img2.getWidth(), img2.getHeight());
layers.add(showPic, new Integer(1)); //layers is my JLayeredPane
layers.repaint();
layers.revalidate();
img ist das Bild, das ich von meiner Webcam gerade aufgenommen haben, und ich versuche, es zu machen, halbtransparent , dann füge es zu einem JLabel hinzu. Wie kann ich das schaffen? Oder gibt es einen besseren Weg, dies zu tun?
Verstanden - erst jetzt, wenn ich es hinzufügen, zeigt nichts auf - wenn ich es nicht zu einem JPanel, wobei in diesem Fall hinzufügen (nachdem ich tun panel.setBackground (new Color (0,0,0, 50)) nur Grau erscheint auf dem Bildschirm Ist es in einem JLayeredPane nicht möglich eine obere Ebene transparent zu machen und die darunter liegende Ebene zu sehen? – dgamz
jetzt merke ich: du brauchst noch eine image du kannst kein leeres bild (img2) auf sich selbst zeichnen - was ist das bild von der webcam – gpasch
Das Bild von der Webcam heißt img - obwohl ich nicht versuche das zu ändern, da ich es irgendwo abspeichere sonst intakt - ich möchte eine Kopie von img machen und dann diese Kopie halb-tra machen nsparent – dgamz