찾다
Javajava지도 시간java에서 페인트 메소드를 사용하여 그림을 그리는 방법

이 글의 주요 내용은 Java에서 그림을 그리는 페인트 방법에 관한 것입니다. 관심 있는 친구들이 더 많은 것을 배울 수 있으니, 그것이 당신에게 도움이 되기를 바랍니다.

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);   //变回原来的字体}
# 🎜🎜#
GameUtil 도구 클래스 가져오기 그림#🎜🎜 #

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);
크기를 구하고 싶다면 그림에서는 getWidth() 및 getHeight() 메서드를 사용하세요.# 🎜🎜#
width = img.getWidth();height = img.getheight();

깜박임을 해결하는 이중 버퍼링 기술

원칙 아마도: 먼저 버퍼에 그려야 하는 것을 로드한 다음 버퍼에 있는 모든 내용을 화면에 그려서 화면에 너무 많은 항목이 로드되어 화면이 심하게 깜박이는 것을 방지하세요.


위 내용은 java에서 페인트 메소드를 사용하여 그림을 그리는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 CSDN에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.