Java 模糊的图像而不是纯色?
我使用BuffereImage作为我的背景,但是当我用下面的代码复制它使它变大时,为什么我的图像代码会产生模糊的边缘而不是纯色Java 模糊的图像而不是纯色?,java,bufferedimage,Java,Bufferedimage,我使用BuffereImage作为我的背景,但是当我用下面的代码复制它使它变大时,为什么我的图像代码会产生模糊的边缘而不是纯色 public final class State_Play extends State_Template { private BufferedImage background; private int[] pixelelements; private int width,height; State_Play(){ ini
public final class State_Play extends State_Template {
private BufferedImage background;
private int[] pixelelements;
private int width,height;
State_Play(){
init();
}
public void init(){
width=8; //Configuration.appwidth,
height=6; //Configuration.appheight
background=new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
pixelelements=((DataBufferInt) background.getRaster().getDataBuffer()).getData();
maketuringarray();
}
public void maketuringarray(){
int singlecolor=new Random().nextInt();
pixelelements[new Random().nextInt(width*height)]=singlecolor | 0xFF000000;
}
@Override
public void update() {
maketuringarray();
}
@Override
public void render(Graphics g) {
g.drawImage(background, 0, 0, Configuration.appwidth, Configuration.appheight, null);
}
代替纯色?最可能的问题是平台上的插值默认设置为立方或双立方。这将使放大变得模糊
public final class State_Play extends State_Template {
private BufferedImage background;
private int[] pixelelements;
private int width,height;
State_Play(){
init();
}
public void init(){
width=8; //Configuration.appwidth,
height=6; //Configuration.appheight
background=new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
pixelelements=((DataBufferInt) background.getRaster().getDataBuffer()).getData();
maketuringarray();
}
public void maketuringarray(){
int singlecolor=new Random().nextInt();
pixelelements[new Random().nextInt(width*height)]=singlecolor | 0xFF000000;
}
@Override
public void update() {
maketuringarray();
}
@Override
public void render(Graphics g) {
g.drawImage(background, 0, 0, Configuration.appwidth, Configuration.appheight, null);
}
显式将其设置为“最近邻”,以获得所需的“块状像素”效果(如果我理解正确):
请发布一个“最小的、完整的、可验证的示例”-因为这就是放大的作用??我的答案是否有问题?