Ich wollte ein gepuffertes Bild in das entsprechende Pixelwertarray konvertieren. Ich fand einen Code dafür:Ausnahme in BufferedImage.getData(). GetPixels()
public static double[] createArrFromIm(BufferedImage im){
int imWidth = im.getWidth();
int imHeight = im.getHeight();
double[] imArr = new double[imWidth* imHeight];
im.getData().getPixels(0, 0, imWidth, imHeight, imArr);
return imArr;
}
Der ursprüngliche Autor, der diesen Code-Block auch einige Beispielbilder gab schrieb, die für diesen Block perfekt arbeiten. Allerdings, wenn ich versuche, diesen Block gegen meine Bilder zu laufen (die Bilder sind immer 125 * 150), der Block wirft gebundener Ausnahme in Zeile einen Array-Index:
im.getData().getPixels(0, 0, imWidth, imHeight, imArr);
Dieser Vorfall scheint mir sehr obskur. Jede Hilfe oder Anregung wird sehr spürbar sein. Vielen Dank.
einige Tipps, die Sie eine Antwort bekommen könnte helfen: Wenn Sie mit einer Ausnahme helfen wollen, immer den vollen Stapel hinzufügen Verfolge die Frage! Wenn bestimmte Bilder zum Reproduzieren der Ausnahme benötigt werden, sollten Sie den Code zum Erstellen oder Lesen sowie eine Beispieldatei hinzufügen. Schließlich verweisen Sie auf einen "Autor, der diesen Codeblock geschrieben hat". Es ist wahrscheinlich eine gute Idee, dorthin zu verlinken, wo Sie den Code für den Kontext gefunden haben. Glückliche Kodierung! :-) – haraldK