光阴似箭催人老,日月如移越少年。
GraphicsMagick+im4java可以處理,GraphicsMagick不用把整張圖片讀取到內存中,比你用原生的效率高多了,你可以搜尋看看,以前我們就是用GraphicsMagick處理圖片裁剪的
可以試試 ImageMagick
ImageMagick
你可以試試看,我也不確定行不行
int w = 400; int h = 300; BufferedImage oldImg = ImageIO.read(new File("F:\sample.jpg")); Image t = oldImg.getScaledInstance(w, h, Image.SCALE_FAST); BufferedImage newImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB); Graphics2D g = newImg.createGraphics(); g.drawImage(t, 0, 0, w, h, null); g.dispose(); ImageIO.write(newImg, "jpg", new File("F:\small.jpg"));
雷雷
思路可以換一換,顯然內存中是能存儲壓縮後的圖像的,而大圖像應該應該讀一部分處理後放到壓縮後的圖形中,總得來說這個問題不算難,思路換一下就行了
GraphicsMagick+im4java可以處理,GraphicsMagick不用把整張圖片讀取到內存中,比你用原生的效率高多了,你可以搜尋看看,以前我們就是用GraphicsMagick處理圖片裁剪的
可以試試
ImageMagick
你可以試試看,我也不確定行不行
雷雷
思路可以換一換,顯然內存中是能存儲壓縮後的圖像的,而大圖像應該應該讀一部分處理後放到壓縮後的圖形中,總得來說這個問題不算難,思路換一下就行了