1

Java 2D ゲームに取り組んでいますが、途中で画面とスプライトが小さすぎることに気付きました。手で拡大するのは大変です。

Java 2D を使用して画像をパネルに描画するときに、JFrame または JPanel とそのすべてのコンテンツを拡大することは可能ですか?

4

1 に答える 1

1

Graphics2D は、次のように画像のサイズ変更機能を提供しています。

BufferedImage resizedImage = new BufferedImage(IMG_WIDTH, IMG_HEIGHT, type);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, IMG_WIDTH, IMG_HEIGHT, null);
g.dispose();

いくつかの記事によると、サイズ変更された画像の品質を向上させたい場合は、次のように RenderingHints を追加できます。

BufferedImage resizedImage = new BufferedImage(IMG_WIDTH, IMG_HEIGHT, type);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, IMG_WIDTH, IMG_HEIGHT, null);
g.dispose();
g.setComposite(AlphaComposite.Src);
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g.setRenderingHint(RenderingHints.KEY_RENDERING,RenderingHints.VALUE_RENDER_QUALITY);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);

ソース: http://www.mkyong.com/java/how-to-resize-an-image-in-Java/

チェックアウトする価値のある他のリンク:

http://www.javaprogrammingforums.com/algorithms-recursion/818-change-size-image.html

http://www.gotoquiz.com/web-coding/programming/java-programming/resize-images-in-java-preserving-image-quality/

http://ajax911.com/resize-images-java-java2d-method/

于 2013-04-20T10:38:33.233 に答える