2016-05-16 8 views
0

Ich bin auf der Suche nach dem häufigsten Bild Größenanpassung Problem. Ich habe eine Java-Web-Anwendung, wo Benutzer ein qualitativ hochwertiges Bild ca. 2 MB hochlädt und auf dieses Bild von mehreren Clients aus mobilen App, mobile Website und Web-Anwendung zugegriffen wird (zB: jede E-Commerce-Anwendung hat Miniaturansicht, geringe Größe, große Größe der gleiches Bild). Dieses Bild wird beim Hochladen in der Größe angepasst und auf dem Server gespeichert.Größe der Bilder auf dem Server für verschiedene Geräte

Ich möchte dieses hochgeladene Bild in mehrere Bilder kleinerer Größe für die oben genannten Clients ändern. Gibt es eine Open-Source- oder kommerzielle Bibliothek, die die Bilder automatisch skalieren kann?

Ich frage mich nur, wie würden diese E-Commerce-Anwendungen dies tun?

Antwort

1

Dafür gibt es viele Java-Frameworks zur Bildverarbeitung.

Der folgende Code verwendet Marvin Framework, um das Bild auf unterschiedliche Auflösungen unter Verwendung der Breite als Referenz zu skalieren. Die Höhe wird berechnet, um den Anteil beizubehalten:

MarvinImage image = new MarvinImage(uploadedImage); 
String fileName = "myfilename.jpg"; 
MarvinImage scaled = new MarvinImage(1,1) 

scale(image, scaled, 1000); // width == 1000 
MarvinImageIO.saveImage(scaled, new File(URI.create("file:///server_storage/"+FilenameUtils.removeExtension(fileName)+"_w1000.jpg")).getAbsolutePath()); 
scale(image, scaled, 500); // width == 500 
MarvinImageIO.saveImage(scaled, new File(URI.create("file:///server_storage/"+FilenameUtils.removeExtension(fileName)+"_w500.jpg")).getAbsolutePath()); 
scale(image, scaled, 250); // width = 250 
MarvinImageIO.saveImage(scaled, new File(URI.create("file:///server_storage/"+FilenameUtils.removeExtension(fileName)+"_w250.jpg")).getAbsolutePath()); 
Verwandte Themen