Hallo,
ich weiß das es dazu einiges im Netz gibt, jedoch will es mit einfach keine BMP bilder anzeigen.
Jpeg und Gif gehen.
Hier der Code:
Globale Variablen:
Image m_aktBild;
JFrame m_fenster = new JFrame();
String m_dateiname;
Soll später nicht mehr gesucht werden müssen sondern der Funktion wird ein Bildname übergeben
Also wo ist der Fehler das es nicht läuft?
ich weiß das es dazu einiges im Netz gibt, jedoch will es mit einfach keine BMP bilder anzeigen.
Jpeg und Gif gehen.
Hier der Code:
Globale Variablen:
Image m_aktBild;
JFrame m_fenster = new JFrame();
String m_dateiname;
Soll später nicht mehr gesucht werden müssen sondern der Funktion wird ein Bildname übergeben
Java:
public void bildladen(){
FileDialog d = new FileDialog(this,"Bilddatei laden...",FileDialog.LOAD);
d.setVisible(true);
m_dateiname = d.getFile();
System.out.println(m_dateiname +"-->");
if(m_dateiname == null)
return;
// Bild laden
ImageIcon tmp = new ImageIcon( d.getDirectory() + m_dateiname);
m_aktBild = tmp.getImage();
int wNew = 120, hNew = 90;
m_aktBild = m_aktBild.getScaledInstance(wNew, hNew, Image.SCALE_SMOOTH);
// Die Begrenzungskoordinaten des Bildes ermitteln
m_bildBreite = m_aktBild.getWidth(m_bildanzeige);
m_bildHoehe = m_aktBild.getHeight(m_bildanzeige);
m_bild_x1 = m_Xpos;
m_bild_y1 = m_Ypos;
m_bild_x2 = m_bild_x1 + m_bildBreite;
m_bild_y2 = m_bild_y1 + m_bildHoehe;
m_bildanzeige.repaint();
}
Java:
class CBildLeinwand extends JPanel {
private final Dimension size;
private CBildLeinwand() {
size = new Dimension(150, 0);
setBorder(BorderFactory.createLineBorder(Color.BLACK));
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if(m_aktBild != null)
g.drawImage(m_aktBild,m_Xpos,m_Ypos,this);
}
public Dimension getMinimumSize() {
if (m_aktBild != null) {
size.width = m_aktBild.getWidth(this);
size.height = m_aktBild.getHeight(this);
}
return size;
}
public Dimension getPreferredSize() {
return size;
}
}
Also wo ist der Fehler das es nicht läuft?