1. Vorschaubild
Beim Durchsuchen von Alben müssen Sie möglicherweise entsprechende Miniaturansichten generieren.
Laden Sie den Code direkt hoch:
public class imageutil {private logger log = loggerfactory.getLogger (getClass ()); Pfad* @param w Thumbnail Breite* @param H Thumbnail Height* @param prevfix Generieren Sie das Präfix der Thumbnails * @param Force, ob die Thumbnails nach Breite und Höhe erzeugt werden sollen (wenn falsch, die beste Skala -Thumbnail) */ public void thumbnailimage (String ImagePath, Int W, Int H, String Prevfix, boolean) {{{) iMgFile = neue Datei (ImagePath); BMP, BMP, JPG, JPG, WBMP, JPEG, PNG, PNG, JPEG, WBMP, GIF, GIF] String -Typen = Arrays.toString (ImageIO.GetReaderFormatnames ()); Ob das Suffix legal ist, wenn (Suffix == NULL || Typen.TolowerCase (). Indexof (Suffix.tolowerCase ()) <0) {log.Error ("sorry, Das Bildsuffix ist illegal. Ull); = Integer.ParseInt (New Java.Text.decimalFormat ("0"). Format (Höhe * W/(Breite * 1.0)); ") .Format (Breite * h/(Höhe * 1.0)); log.debug (" Bild des Bildes ändern, Breite: {}, Höhe: {}. ", W, H);}} } PufferedImage bi = new bufferedImage (w, h, bufferedImage.type_int_rgb); IX, neue Datei (P.Substring (0, P. Lastindexof (Datei.Separator)) + Datei.Separator + Prevfix +imgFile.getName ()); Ailimage ("C:/Benutzer/CM/Desktop/meine Seite/Bilder/girlnoimg.jpg", 100,, 150, default_prevfix, default_force);Führen Sie die Hauptmethode direkt aus und füllen Sie die entsprechenden Parameter ein.
2. Mit JS kooperieren
Wenn wir unsere persönlichen Weibo- und QQ -Informationen ändern, können wir unsere persönlichen Avatare hochladen und dann unsere persönlichen Avatare schneiden und sie hochladen. Die Größe und der Stil von Kammbildern werden über JavaScript implementiert, erzeugt jedoch kein neues Bild. JS -Kaufbilder liefern jedoch die X- und Y -Koordinaten und die Breite und die Höhe des Bildes.
Schritt:
1. Ich habe JS zuerst verwendet, um die Bildausschnitt und die Browserfunktion durch die Seite zu erkennen. Darüber hinaus können wir Plug-Ins wie JCROP verwenden, was ein sehr gutes Bild-Cropping-Plug-In ist.
Download -Adresse: http://download.csdn.net/detail/u012385190/9733480
Das endgültige Rendering ist wie oben.
2. Java erzeugt und spart geschnittene Bilder
public class imageutil2 {private logger logger = loggerfactory.getLogger (getClass ()); IMG, OutputStream -Ausgang, java.awt.Rectangle rechtex) {if (srcimg.exists ()) {Java.io.FileInputStream fis = null; ] String type = arrays.toString (ImageIO.GetreaderFormatNames ()) .Replace ("]", ","); // das Bild -Suffix if (srcimg.getName (). Indexof (".")> -1) {Suffix = srcimg.getName (). Substring (srcimg.getName (). Suffix.tolowerCase () + ",") <0) {log.Error ("Entschuldigung, das Bildsuffix ist illegal. Das Standardbildsuffix ist {}." + + + Typen); ); Imageio.Write (BI, Suffix, Ausgabe); ) IIS.CLOSE (); } // die Zieldatei public void Cutimage (Datei srcimg, String destimgPath, java.awt.Rectangle rect) Datei.separator)) p = P + Datei.separator; Java.io.FileOutputStream (p+ default_cut_prevfix+ "_"+ srcimg.getName ()), rechteweise); , int x, int y, int width, inthhohe) {cutimage (neue Datei (srcimg), Destimg, New Java.awt.Rectangle (X, Y, Breite, Höhe); ImageUtil2 (). Cutimage ("C: /users/cm/desktop/jcrop-master/demos/demo_files/sago.jpg", "C:/Benutzer/CM/Desktop/meine Seite/Bilder/IMGS", 124, 110, 196, 176);Diese Methode kann direkt in Main ausgeführt werden. Die vier in übergebenen Parameter sind Bildpfad, linker Wert, Top -Wert, Länge und Breite.
Lassen Sie uns analysieren, wie diese vier Parameter erhalten werden:
1. Als Beispiel bekomme ich meinen JS -Schnitt und bekomme Folgendes durch F12:
Der rote Teil des Bildes ist das Div des Bildschnitts. Wie im Bild beträgt meine X/Y/Breite/Höhe 40,28.224.228.
HINWEIS: In JS definiere ich die Länge und Breite des DIV und das Bild als 300*300, um mit dem Test zusammenzuarbeiten, das ich heruntergeladen habe, auch 300*300. Wenn das von Ihnen getestete Bild nicht 300*300 ist, unterscheidet sich der Effekt, den Sie direkt in Java oben getestet haben, von dem, was Sie vor dem vorderen Ende sehen, da ich die Breite und Höhe Ihres Front -End -Bildes als 300*300 definiere, während Ihr tatsächliches Bild (d. H. Das Bild in Java) nicht ist.
Was ist, wenn dieses Problem behandelt wird?
Nehmen Sie die Länge und Breite des Originalbildes in Ihrem Java -Code und bestimmen Sie dann, ob die Länge und Breite des Originalbildes 300*300 beträgt. (Mein Code verarbeitet es nicht, ich werde es selbst verarbeiten, wenn ich ihn brauche, und die Miniaturansichten nach dem Aufnehmen des Bildes löschen)
2. JCrop erhält Parameter
Wie in der Abbildung gezeigt, liefert JCrop direkt Parameter und kann direkt verwendet werden. Ein Nachteil ist jedoch, dass der Bildgrößenbereich der Front-End-Seite nicht behoben ist.
Zusammenfassend wird empfohlen, den ersten JS zu verwenden und dann festzustellen, ob die Länge und Breite des Originalbildes 300 betragen, und dann eine Miniaturansicht von 300*300 erzeugen. Verwenden Sie dann die Miniaturansicht als Ernteprototyp und löschen Sie die Thumbnail nach der Verwendung.
Die oben genannte Beispiele für Java Image Cropping und Generation von Miniaturansichten, die Ihnen vom Herausgeber vorgestellt wurden. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!