2011-01-04 9 views
3

私は、RenderedImageを使用して、アプリのDisplayJAIにtiffを表示しています。RenderedImageのサイズ変更

誰かがRenderedImageのインスタンスのサイズを変更する方法を知っていますか?

答えて

-1

まさにそれをここに掲載のコード例があります:http://answers.yahoo.com/question/index?qid=20090827075608AA12kEZ

関連するコード:私はJAIで何かをやったので、それは長い時間がかかった

BufferedImage img = ImageIO.read(new File("~/your/file/system/example.jpeg")); 
BufferedImage thumb = new BufferedImage(w2, h2, BufferedImage.TYPE_INT_RGB); 
thumb.createGraphics().drawImage(
img.getScaledInstance(w2, h2, java.awt.Image.SCALE_SMOOTH), 0, 0, null); 
File file = new File(fullpath + filename); 
ImageIO.write(thumb, "png", file); 
+0

RenderedImageを単純型キャストでBufferedImageに変換することはできません。 – Robert

+0

@ロバート、ポスターを正しいと仮定するのではなく、テストしたはずです。しかし、残りは依然として有用かもしれません。 – jzd

+0

@Robertハァッ? BufferedImageのJavaDocsは、「実装されたすべてのインタフェース:* RenderedImage、* WritableRenderedImage、Transparency」と主張しています。私は何かを誤解したことがありますか? –

3
public static RenderedImage scale(RenderedImage image, float scaleFactor) 
    RenderingHints hints = new RenderingHints(RenderingHints.KEY_RENDERING, 
     RenderingHints.VALUE_RENDER_QUALITY); 

    RenderedOp resizeOp = SubsampleAverageDescriptor.create(image, 
     Double.valueOf(scaleFactor), Double.valueOf(scaleFactor), hints); 

    BufferedImage bufferedResizedImage = resizeOp.getAsBufferedImage(); 

    return bufferedResizedImage; 
} 
関連する問題