Zeichnen eines grafischen Histogramms
Ich arbeite an einem Projekt und möchte ein einzeiliges Histogramm anzeigen, das wie ein Balkendiagramm aussieht, außer dass jede Linie im Balkendiagramm ein Pixel und seinen Graustufenwert darstellt.
Ich habe ein Array voller Graustufenwerte. Ich muss sie nur in dieses Histogramm einfügen und die Linien anzeigen lassen, die die Werte darstellen. So ähnlich
IMAGE [minimize][maximize][close]
picture histogram
I
(Loaded Picture) I I
I I I
I I I I
[open][save]
Und unten ist der Code, der das Array lädt ... Ich brauche nur einen Code, der diese Graustufenwerte verwendet und sie wie oben als Balken darstellt.
public void showImage(File fileName) {
Scanner scan;
try {
scan = new Scanner(fileName);
typefile = scan.next();
iname = scan.next();
width = scan.nextInt();
height = scan.nextInt();
maxshade = scan.nextInt();
array = new int[width][height];
for(int r = 0; r < array.length; r++){
for(int c = 0; c < array[r].length; c++){
array[r][c] = scan.nextInt();
imageArray = array;
repaint();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
Ich weiß, ich muss etwas tun wie ...
int hist[] = new int[256];
for (int r = 0; r < array.length; r++)
for (int c = 0; c < array[r].length; c++)
hist[array[r][c]]++;
Aber ich weiß nicht, wohin ich gehen soll oder wie ich meine Grafik zeichnen soll.