这确实很容易,但不是很直观。
您需要扩展ImageTransprer。在createImage方法中,您分配一个BufferedImage,将其缓存为成员变量,然后将其返回。该writeImage方法为空。而且您需要添加一个吸气剂来检索BufferedImage。
它看起来像这样:
class MyTransprer extends ImageTransprer { private BufferedImage image = null; public BufferedImage createImage(int w, int h) { image = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB); return image; } public void writeImage(BufferedImage img, TransprerOutput out) { } public BufferedImage getImage() { return image; } }现在,要创建图像,请创建转码器的实例,然后通过设置将其传递给所需的宽度和高度TranscodingHints。最后,您将代码从TransprerInput转码为空目标。然后在代码转换器上调用getter来获取图像。
呼叫看起来像这样:
MyTransprer transprer = new MyTransprer(); TranscodingHints hints = new TranscodingHints(); hints.put(ImageTransprer.KEY_WIDTH, width); hints.put(ImageTransprer.KEY_HEIGHT, height); transprer.setTranscodingHints(hints); transprer.transpre(new TransprerInput(url), null); BufferedImage image = transprer.getImage();
简单吧?(是的,对。只花了我两个星期的时间就解决了。



