Bild zuschneiden in Java
Das Zuschneiden von Bildern wird häufig verwendet, um störende Teile aus Bildern zu entfernen. Sie können ein Bild zuschneiden, um die Aufmerksamkeit auf ein bestimmtes Objekt im Rahmen zu lenken, und in diesem Artikel erfahren Sie, wie Sie Fotos in Java programmgesteuert zuschneiden.
Auch wenn kostenpflichtige Tools viele Verwendungsmöglichkeiten haben und Zeit sparen können, lohnt es sich immer, es auszuprobieren, wenn wir es innerhalb weniger Tage schaffen können. Dieser Beitrag richtet sich in erster Linie an Einsteiger, die durch den Verzicht auf teure Drittanbieter-Tools Geld sparen können. Wir werden die Funktion subimage
aus der Klasse BufferedImage
verwenden, um ein Bild in Java zuzuschneiden.
Zuschneiden eines Bildes in Java mit der Klasse BufferedImage
Bei der Erstellung dieser Beispiele wurde die Klasse BufferedImage
berücksichtigt.
Syntax der Methode getSubimage()
der Klasse BufferedImage
:
public BufferedImage getSubimage(int X, int Y, int width, int height)
Dieser Code gibt ein Teilbild zurück, dessen rechteckiger Bereich durch die vergangenen Eingaben bestimmt wird. Nachfolgend finden Sie eine Beschreibung der vier Parameter.
Parameter | Beschreibung |
---|---|
X |
liefert die x -Koordinate der oberen linken Ecke des ausgewählten rechteckigen Bereichs. |
Y |
stellt die y -Koordinate des bezeichneten rechteckigen Bereichs der oberen linken Ecke bereit. |
Height |
die Höhe der rechteckigen Fläche wird angegeben. |
Width |
legt fest, wie breit der rechteckige Bereich ist. |
Es folgt das Bild, das wir zuschneiden werden.
Codebeispiel:
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Main {
public static void main(String[] args) {
File imageFile = new File("/D:/test/image.jpg");
BufferedImage bufferedImage = null;
try {
bufferedImage = ImageIO.read(imageFile);
BufferedImage image = bufferedImage.getSubimage(0, 0, 50, 50);
File pathFile = new File("/D:/test/image-crop.jpg");
ImageIO.write(image, "jpg", pathFile);
} catch (IOException e) {
System.out.println(e);
}
}
}
Ausgang:
Beachten Sie, dass ich meine in den Zeilen 10 und 16 bereitgestellt habe, aber Sie müssen Ihren Dateispeicherort angeben. Darüber hinaus können Sie dem Benutzer erlauben, zur Laufzeit die Werte X
, Y
, Breite
und Höhe
bereitzustellen, um Ihrem Code zusätzliche Flexibilität zu verleihen.
Hier suchen wir ein weiteres Beispiel, um ein Bild zuzuschneiden, benötigen wir einige Klassen in Java. Im Folgenden sind die erforderlichen Klassen aufgeführt, die vor dem Zuschneiden eines Bilds in Java importiert werden müssen.
Sie müssen die Klasse File
importieren, um eine Bilddatei lesen und schreiben zu können. Diese Klasse repräsentiert im Allgemeinen Pfadnamen für Dateien und Verzeichnisse.
Import java.io.File
Die Klasse IOException
dient der Fehlerbehandlung.
Import java.io.IOException
Wir verwenden die Klasse BufferedImage
, um das Objekt BufferedImage
zu erstellen, das das Bild enthält.
import java.awt.image.BufferedImage
Wir werden die Klasse ImageIO
importieren, um die Operation Lesen/Schreiben
auf einem Bild auszuführen. Techniken zum Lesen und Schreiben statischer Bilder sind in diesem Kurs verfügbar.
import javax.imageio.ImageIO
Verwenden mehrerer der eingebauten Methoden der Klasse BufferedImage
.
// importing the necessary packages
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
// Main class
public class GFG {
// Main driver method
public static void main(String[] args) {
// Using a try block, look for exceptions
try {
// Reading the original image from the local path by
// creating an object of BufferedImage class
BufferedImage originalImg = ImageIO.read(new File("D:/test/Image.jpeg"));
// Fetching and printing alongside the
// dimensions of original image using getWidth()
// and getHeight() methods
System.out.println(
"Original Image Dimension: " + originalImg.getWidth() + "x" + originalImg.getHeight());
// Creating a subimage of given dimensions
BufferedImage SubImg = originalImg.getSubimage(50, 50, 50, 50);
// Printing Dimensions of the new image created
System.out.println(
"Cropped Image Dimension: " + SubImg.getWidth() + "x" + SubImg.getHeight());
// Creating a new file for the cropped image by
// creating an object of the File class
File outputfile = new File("D:/test/ImageCropped.jpeg");
// Writing image in the new file created
ImageIO.write(SubImg, "png", outputfile);
// Display message on console representing
// proper execution of program
System.out.println("Cropped Image created successfully");
}
// Catch block to handle the exceptions
catch (IOException e) {
// Print the exception along with the line number
// using printStackTrace() method
e.printStackTrace();
}
}
}
Außerdem zeigt die Konsole nach der Programmausführung eine ausgeführte Meldung und ein neu erstelltes zugeschnittenes Bild unter dem angegebenen Pfad an.
Abschluss
Sie haben klar verstanden, wie man ein Bild in Java zuschneidet. Wir haben gezeigt, wie man ein Bild zuschneidet, dessen rechteckiger Bereich durch frühere Eingaben in einigen verschiedenen Methoden bestimmt wird, und wie die Klasse BufferedImage
und ihre anderen eingebauten Methoden verwendet werden, um ein Bild in Java zuzuschneiden.
Darüber hinaus können Sie die Dokumentation verwenden, um mehr über das Zuschneiden von Java-Bildern zu erfahren. Da Sie diese Seite gelesen haben, wissen Sie wahrscheinlich, was das Zuschneiden von Bildern ist.
Es ist einfach das Entfernen der äußeren Teile eines Bildes, um den Rahmen zu verbessern, das Seitenverhältnis zu ändern usw. Jetzt können Sie dies sehr schnell tun, indem Sie die angegebenen Java-Codes verwenden.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn