我想我找到了一种解决方案,方法是研究过多的Google搜索并将它们拼凑起来。
这里是注释和所有内容:
private BufferedImage toCompatibleImage(BufferedImage image){ // obtain the current system graphical settings GraphicsConfiguration gfxConfig = GraphicsEnvironment. getLocalGraphicsEnvironment().getDefaultScreenDevice(). getDefaultConfiguration(); if (image.getColorModel().equals(gfxConfig.getColorModel())) return image; // image is not optimized, so create a new image that is BufferedImage newImage = gfxConfig.createCompatibleImage( image.getWidth(), image.getHeight(), image.getTransparency()); // get the graphics context of the new image to draw the old image on Graphics2D g2d = newImage.createGraphics(); // actually draw the image and dispose of context no longer needed g2d.drawImage(image, 0, 0, null); g2d.dispose(); // return the new optimized image return newImage; }
在我以前的文章中,GraphicsConfiguration包含了在系统上创建优化图像所需的信息。它似乎工作得很好,但是我以为Java会自动为您执行此 *** 作。显然,您对Java不太满意。:)我想我最终回答了自己的问题。哦,希望它能对我见过的尝试将Java用于2D游戏的某些人有所帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)