gpt4 book ai didi

Java RenderedImage 小节

转载 作者:行者123 更新时间:2023-11-29 08:46:35 25 4
gpt4 key购买 nike

我正在尝试在 java 中获取 RenderedImage 的一个子部分。例如,图像是 100x100,我想要该图像的右下角

RenderedImage i=...
x=49;
y=49;
width=50;
height=50;

RenderedImage i2=...

最佳答案

如果您的 RenderedImageBufferedImage ,您可以简单地使用 getSubImage() 方法:

BufferedImage bi = ...;
BufferedImage bi2 = bi.getSubImage(x, y, width, height);

注意:bi2会与bi共享图像数据数组。

如果您的 RenderedImage 不是 BufferedImage,您必须以“更难”的方式进行处理:

WritableRaster raster = i.getData(new Rectangle(x, y, width, height))
.createCompatibleWritableRaster();
Hashtable<String,Object> properties = new Hashtable<String,Object>();
for (String name : i.getPropertyNames())
properties.put(name,i.getProperty(name));

// And finally creating a BufferedImage
// which of course implements RenderedImage:
RenderedImage i2 = new BufferedImage(i.getColorModel(), raster,
i.getColorModel().isAlphaPremultiplied(), properties);

关于Java RenderedImage 小节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24991286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com