Hallo zusammen!
Hoffe mal, es kann mir jemand weiterhelfen:
Ich möchte ein Graustufenbild in Ascii-Art umwandeln und dann in einem JFrame anzeigen lassen. Die Umwandlung lief ohne Probleme; das Ascii-Art-Bild liegt als 2d-char-Array vor.
Mein Problem ist nun die Anzeige. Das Ascii-Art-Bild wird zwar gezeichnet, aber es passt sich nicht in den vorgesehenen JFrame ein. Also, wenn ich den JFrame größer ziehe, dann sehe ich mehr vom Bild, aber nicht das ganze.
Hier der Code soweit:
Und in einer anderen Klasse die Erzeugung und Anpassung des Frames:
Wie bekomme ich es hin, dass das Ascii-Art-Bild sich auf den Frame "verkleinert"? Ist meine Herangehensweise evtl. schon falsch? Btw: wie kann der "Hintergrund" der Graphik weiß eingefärbt werden (setBackground() zeigt keine Wirkung)?
Danke schonmal!
Hoffe mal, es kann mir jemand weiterhelfen:
Ich möchte ein Graustufenbild in Ascii-Art umwandeln und dann in einem JFrame anzeigen lassen. Die Umwandlung lief ohne Probleme; das Ascii-Art-Bild liegt als 2d-char-Array vor.
Mein Problem ist nun die Anzeige. Das Ascii-Art-Bild wird zwar gezeichnet, aber es passt sich nicht in den vorgesehenen JFrame ein. Also, wenn ich den JFrame größer ziehe, dann sehe ich mehr vom Bild, aber nicht das ganze.
Hier der Code soweit:
Java:
import javax.swing.*;
import java.awt.*;
public class TestFrame extends JFrame {
private char[][] image;
private int width;
private int height;
public TestFrame(char[][] image) {
this.image = image;
this.width = image[0].length;
this.height = image.length;
}
public void paint(Graphics g) {
super.paint(g);
for(int i = 0; i < height; i++) {
g.drawChars(this.image[i], 0, this.width, 0, i);
}
}
}
Und in einer anderen Klasse die Erzeugung und Anpassung des Frames:
Java:
public void testPrintingAscii(char[][] image) {
JFrame frame =new TestFrame(image);
frame.setTitle("Test");
frame.setSize(300,300);
//frame.setBackground(Color.WHITE);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.validate();
frame.setVisible(true);
}
Wie bekomme ich es hin, dass das Ascii-Art-Bild sich auf den Frame "verkleinert"? Ist meine Herangehensweise evtl. schon falsch? Btw: wie kann der "Hintergrund" der Graphik weiß eingefärbt werden (setBackground() zeigt keine Wirkung)?
Danke schonmal!