2016-05-16 66 views
0

我正在尋找解決最常見的圖像重新調整大小問題。我有一個Java Web應用程序,用戶可以上傳大約2 MB的高質量圖像,並且該圖像可以從多種客戶端訪問,包括移動應用程序,移動網站和Web應用程序(例如:任何電子商務應用程序都有縮略圖,小尺寸,大尺寸相同的圖像)。這張圖片應該在上傳時調整大小,並存儲在服務器上。調整各種設備的服務器上的圖像大小

我想將上傳的圖片的大小調整爲上面提到的客戶端的較小尺寸的多個圖片。是否有任何開源或商業庫可以自動調整圖像大小。

只是想知道這些電子商務應用程序將如何做到這一點?

回答

1

有很多Java圖像處理框架可以做到這一點。

以下代碼使用Marvin Framework將圖像的寬度作爲參考將圖像大小調整爲不同的分辨率。計算高度以保持比例:

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());