Zeichnung Gefülltes Rechteck über ein BufferedImage
So, ich bin versucht, eine Anwendung erstellen, können black-out-Abschnitte einer Umfrage, die vertrauliche Informationen enthält. Aber ich habe ein bisschen ein problem.
Was ich will zu tun ist, zeichnen gefüllte schwarze Rechtecke über ein BufferedImage gegeben x, y, Breite und Höhe des gewünschten Bereichs auf schwarz, dann schreiben Sie, das neue Bild zurück zu meinem Dateisystem. Hier ist mein code.
File imageFile = new File("images/template.jpg");
BufferedImage img = ImageIO.read(imageFile);
Graphics2D graph = img.createGraphics();
graph.setColor(Color.BLACK);
graph.fill(new Rectangle(x, y, width, height));
graph.dispose();
ImageIO.write(img, "jpg", new File("images/template.jpg"));
Aus welchem Grund auch immer das Bild in die Ressource nicht ändern, nachdem das code-segment. Irgendwelche Ideen auf, was ich falsch mache?
- Sind Sie immer Fehler? Tut Zeitstempel der Datei ändern, nachdem Sie den code ausgeführt?
- 1) Für besser zu helfen, schneller zu veröffentlichen, SSCCE. 2) schreiben Sie ein neues Bild.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehr spät diese Antwort, aber Sie speichern das Bild und nicht die Grafik, die Sie erstellen. Ich denke, es muss ein BufferedImage wieder zu speichern
Ich weiß, ist eine alte Frage, aber vielleicht kann es nützlich sein, um jemanden,
Ich denke, man sollte die Verwendung dieser
Durch die Art und Weise ist schwer, eine Lösung zu finden ohne ein wenig mehr code.
Hoffe, es wird nützlich sein.
Müssen Sie nur ersetzen Sie diese Zeile:
mit dabei: