Adresse

Avenue Blonden 76
B- 4000 Liège

studio@doubleffect.be

Nous

Pour réussir votre plan de communication, nous mixons la créativité avec un zeste d’originalité, un soupçon d’innovation, le tout saupoudré d’une bonne dose de technicité.

Java bild herunterladen

In dieser Lektion haben Sie nur die Grundlagen von Image I/O gelernt, das umfassende Unterstützung für das Schreiben von Bildern bietet, einschließlich der direkten Arbeit mit einem ImageWriter-Plug-In, um eine feinere Kontrolle über den Codierungsprozess zu erreichen. ImageIO kann mehrere Bilder, Bildmetadaten schreiben und Kompromisse bei Qualität im Vergleich zu Größe bestimmen. Weitere Informationen finden Sie im Java Image I/O API Guide. Diese Lektion begann mit einer Erklärung für die Verwendung des Pakets javax.imageio, um Bilder aus einem externen Bildformat in das interne BufferedImage-Format zu laden, das von Java 2D verwendet wird. Anschließend wird erläutert, wie Sie graphics.drawImage() zum Zeichnen dieses Bildes mit optionaler Filterung verwenden. Gelegentlich kann es nützlich sein, ein Bild programmgesteuert von einer URL herunterzuladen und als Datei zu speichern. Eine Standardmethode, dies in JavaSW zu tun, besteht darin, einen Eingabestream zum Lesen von einer URL zu erhalten und diesen dann in einen Ausgabestream zu schreiben, der einer Datei zugeordnet ist. Die letzte Phase besteht darin, ein BufferedImage-Objekt in einem externen Bildformat zu speichern. Dies kann ein Bild sein, das ursprünglich von der Image-E/A-Klasse aus einem externen Bildformat geladen und möglicherweise mit den Java 2D-APIs geändert wurde, oder es kann ein Bild sein, das von Java 2D erstellt wurde. Die Image-E/A-Klasse bietet eine einfache Möglichkeit, Bilder in einer Vielzahl von Bildformaten im folgenden Beispiel zu speichern: Die SaveImageFromUrl-Klasse veranschaulicht diese Technik. Es ruft ein URL-Objekt für ein Bild ab und erhält dann einen Eingabestream für dieses Bild.

Es erstellt einen Ausgabestream zu einer Datei über FileOutputStream. Bei Verwendung der standardmäßigen Java-Streambehandlung wird der Eingabestream in Blöcken über die while-Schleife gelesen, und die Bytes werden in den Ausgabestream geschrieben. Weitere Informationen finden Sie im Paket javax.imageio. Das verwendet das AWT-Bild. Andernfalls könnten Sie folgendes tun: Der folgende Code lädt ein Abbild von einem direkten Link zum Datenträger in das Projektverzeichnis herunter. Beachten Sie auch, dass es Try-with-Resources verwendet. Es lädt das Bild herunter und speichert das Bild mit dem ursprünglichen Dateinamen. Der Schlüssel ist, InputStream zum Lesen von Bild und OutputStream zum Schreiben in eine Datei zu verwenden. öffentliche statische void saveImage(String imageUrl) löst IOException aus, URL URL = neue URL(imageUrl); String fileName = url.getFile(); String destName = « ./figures » + fileName.substring(fileName.lastIndexOf(« / »)); System.out.println(destName); InputStream ist = url.openStream(); OutputStream os = neuer FileOutputStream(destName); Byte[] b = neues Byte[2048]; int Länge; while ((length = is.read(b)) != -1) é os.write(b, 0, length); os.close(); Jedes Bildformat hat seine Vor- und Nachteile: Das zurückgegebene Array von Namen enthält alle zusätzlichen Plug-Ins, die installiert werden, und jeder dieser Namen kann als Formatname verwendet werden, um einen Image Writer auszuwählen.