2012-07-24 16 views
0

可能重複:
Resize an image in Java - Any Open Source Library?調整圖像用java Scalr,不正確的輸出圖像,灰色

我希望我能剛好在拍攝前調整圖像大小!我嘗試了幾次,但沒有成功。你能告訴我程序嗎?我想使用imgscarlr或更好。謝謝

private static void getImages(String src,String Name) throws IOException { 

    String folder = null; 

    //Exctract the name of the image from the src attribute 
    int indexname = src.lastIndexOf("/"); 


    if (indexname == src.length()) { 
     src = src.substring(1, indexname); 
    } 

    indexname = src.lastIndexOf("/"); 
    String name = src.substring(indexname, src.length()); 

    System.out.println(name); 

    //Open a URL Stream 
    URL url = new URL(src); 
    InputStream in = url.openStream(); 

    OutputStream out = new BufferedOutputStream(new FileOutputStream(folderPath+ name)); 

    for (int b; (b = in.read()) != -1;) { 

     out.write(b); 
    } 


    BufferedImage originalImage = ImageIO.read(new File(folderPath+name)); 
    BufferedImage scaledImage = Scalr.resize(originalImage, 200); 
    ImageIO.write(scaledImage, "jpg", new File(folderPath+name)); 
    } 
    } 

我沒事,但根據圖片,我有一個問題,採樣的灰色部分!

+1

請您只發布處理圖像的代碼?所有的文件處理都不重要。 – 2012-07-24 09:13:42

+0

BTW - DYM [imgscalr](http://www.thebuzzmedia.com/software/imgscalr-java-image-scaling-library/)(只有一個'r')? – 2012-07-24 09:59:30

+0

錯誤 - >異常在線程 「主」 java.lang.ExceptionInInitializerError \t在DownloadImages.getImages(DownloadImages.java:145) \t在DownloadImages.main(DownloadImages.java:83) 所致:java.lang中。拋出:IllegalArgumentException:在java.awt.color.ICC_Profile中的$ 2.run(ICC_Profile.java:931) \t在java.security.AccessController.doPrivileged(本機方法)是java \t GRAY.pf \t:無法加載標準配置文件.awt.color.ICC_Profile.getStandardProfile(ICC_Profile.java:924) \t at java.awt.color.ICC_Profile.getDeferredInstance(ICC_Profile.java:1071) – Rosebud 2012-07-24 13:31:45

回答

2

你需要「負荷」形象第一,看看ImageIO API的更多詳細信息,在那之後,根據您的需要,這是比較簡單的圖像縮放到

UPDATE

Reading image from URL

Image scaling API

Multi-step, hi-quality scaling

+1

*「它相對簡單t o縮放圖像「*對於動畫GIF而言,並非」簡單「。 – 2012-07-24 09:25:55

+0

謝謝你的回覆,你能否給我一個我的代碼示例來了解我的程序 – Rosebud 2012-07-24 09:26:20

+0

@AndrewThompson @AndrewThompson的一切都是相對的),你和我發現的相對簡單,其他人會發現比較難...另外,你這些天使用動畫GIF; P(今天每個評論家都將+1放在了我的腳趾上) – MadProgrammer 2012-07-24 09:53:18

0

我忘了out.close();現在它的工作