이 글의 주요 내용은 Java에서 그림을 그리는 페인트 방법에 관한 것입니다. 관심 있는 친구들이 더 많은 것을 배울 수 있으니, 그것이 당신에게 도움이 되기를 바랍니다.
창을 그리려면 JFrame 클래스를 상속해야 합니다=> {}
setTitle(String s); //창 제목 설정
setLocation(int x, int y); //창 위치 설정
setSize(int 너비, int 높이); //창 너비와 높이 설정# 🎜🎜#setVisible(true); //창이 보이도록 설정합니다. 기본값은 flase입니다. 이 메서드는 setLocation() 및 setSize 뒤에 배치하는 것이 더 좋습니다. 창은 검은색으로, 기본값은 흰색입니다
#🎜 🎜#
페인트 메서드 그리기정의 후 자동으로 호출됨
public class paint(Graphics g) { Color c = g.getColor(); //记录原来的颜色 Font f = g.getFont(); //记录原来的字体 g.setColor(Color.BLACK); //设置画线的颜色 g.drawLine(int x1, int y1, int x2, int y2); //两点画直线 g.drawRect(int x, int y, int width, int height); //左上角顶点加宽高画矩形 g.fillRect(int x, int y, int width, int height); //画填充矩形 g.setFont(new Font("楷体", Font.BOLD, 40)); //设置字体为楷体,粗体,大小为40 g.drawString(str, int x, int y); //画出str字符串 g.setColor(c); //变回原来的颜色 g.setFont(f); //变回原来的字体}
import java.awt.Image; import java.awt.image.BufferedImage; import java.io.IOException; import java.net.URL; import javax.imageio.ImageIO; public class GameUtil { // 工具类最好将构造器私有化。 private GameUtil() { } public static Image getImage(String path) { BufferedImage bi = null; try { URL u = GameUtil.class.getClassLoader().getResource(path); bi = ImageIO.read(u); } catch (IOException e) { e.printStackTrace(); } return bi; }}
Game 클래스에서 GameUtil 호출Image imag = GameUtil.getImage("images/picture.png") ; //그림을 저장하기 위해 이미지 패키지를 만들었습니다. 인용문은 이미지의 경로입니다. g.drawImage(imag, x, y, width, height, null) //imag image, position, width and 높이, 관찰자
import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Image; import javax.swing.JFrame; public class MyGame extends JFrame{ Image imag = GameUtil.getImage("images/text1.png"); //指定图片 @Override public void paint(Graphics g) { Color c = g.getColor(); Font f = g.getFont(); g.setColor(Color.BLUE); //设置线体颜色 g.drawLine(100, 100, 650, 100); //直线 g.drawRect(50, 150, 200, 200); //空心矩形 g.fillRect(550, 150, 200, 200); //实体矩形 g.drawOval(300, 150, 200, 200); //圆形 g.setFont(new Font("楷体", Font.BOLD, 90)); //设置字体 g.drawString("How are you?", 100, 100); //写字 g.drawImage(imag, 250, 400, 300, 300, null); //插入图片 g.setColor(c); //线条颜色变为原来的样子 g.setFont(f); //字体变为原来的样子 } public void launchJFrame() { this.setTitle("我的游戏"); //设置窗口标题 this.setSize(800, 800); //设置窗口大小 this.setLocation(100, 100); //设置窗口位置 this.setVisible(true); //设置窗口可见 /*this.addWindowListener(new WindowAdapter() { //叉掉窗口后,结束窗口所在的应用程序 @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); */ this.setDefaultCloseOperation(EXIT_ON_CLOSE); //叉掉窗口后,结束窗口所在的应用程序 } public static void main(String args[]) { MyGame game = new MyGame(); game.launchJFrame(); }}
#🎜 🎜#
이미지 크기 설정
public Image getScaledInstance(int 너비, int 높이, int 힌트 ) //힌트 - 이미지 리샘플링에 사용되는 알고리즘 유형을 나타내는 플래그(이 문장이 무슨 뜻인지는 모르겠지만 그냥 아래와 같이 작성하세요)Image img = GameUtil.getImage("images/text1.jpg");img = img.getScaledInstance(width, height, Image.SCALE_DEFAULT);
width = img.getWidth();height = img.getheight();
깜박임을 해결하는 이중 버퍼링 기술
위 내용은 java에서 페인트 메소드를 사용하여 그림을 그리는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!