精华内容
下载资源
问答
  • java绘图坐标与快速入门

    各自努力,最高处见!加油!

    一、Java坐标系。

    • 坐标原点位于左上角,以像素为单位
    • 横坐标为x坐标,正方形水平向右,表示当前位置为水平方向,距离坐标原点x个像素;
    • 纵坐标为y坐标,正方形垂直向下,表示当前位置为垂直方向,距离坐标原点y个像素。
      在这里插入图片描述

    二、像素

    计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成。像素是一个密度单位,与屏幕的尺寸无关。

    三、绘图快速入门

    1.Graphics类了解

    在这里插入图片描述Graphics类提供了很多画图的方法(以画圆为示例)
    在这里插入图片描述
    在这里插入图片描述Graphics类可以理解为画笔,为我们提供了各种绘制图像的方法,下面介绍几种常用的画图方法:

    (1)画直线:drawLine(int x1,int y1,int x2,int y2)

    (2)画矩形边框:drawRect(int x,int y,int width,int height)

    (3)画椭圆边框:drawOval(int x,int y,int width,int height)

    (4)填充矩形:fillRect(int x,int y,int width,int height)

    (5)填充椭圆:fillOval(int x,int y,int width,int height)

    (6)画图片:drawImage(Image img,int x,int y,ImageObserver observer )

    observer - 转换更多的图像时要通知的对象。

    (7)画字符串:drawString(String str,int x,int y)

    (8)设置画笔的字体:setFont (Font font)

    (9)设置画笔的颜色:setColor(Color c)

    2.绘图原理

    (1)Component类提供了两个和绘图相关最重要的方法:

    1. paint(Graphics g) 绘制组件的外观
    2. repaint() 刷新组件的外观

    (2)当组件第一次在屏幕显示的时候,程序会自动调用paint()方法来绘制组件

    (3)在以下情况paint()方法将会被调用

    1. 窗口最小化,再最大化
    2. 窗口的大小发生变化
    3. repaint函数被调用

    示例代码:

    import javax.swing.*;
    import java.awt.*;
    
    public class DrawCircle extends JFrame{//JFrame对应窗口
        private MyPanel mp = null;//定义一个面板
        public static void main(String[] args) {
            new DrawCircle();
        }
    
        public DrawCircle(){//构造函数
    
            mp=new MyPanel();//初始化面板
    
            this.add(mp);//把面板放入窗口
    
            this.setSize(800,800);//设置窗口大小
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//点击窗口的×,关闭程序
            this.setVisible(true);//可以显示
        }
    
    
    }
    //    1.先定义一个MyPanel类,继承JPanel类,画图形
    class MyPanel extends JPanel{
        @Override
        public void paint(Graphics g) {
            super.paint(g);//调用父类的方法完成初始化
    //        g.fillOval(10,10,100,100);
    //        System.out.println("paint方法被调用!");
    
            //演示各种绘制方法
    //        填充矩形:fillRect(int x,int y,int width,int height)
    //        g.setColor(Color.BLUE);//设置画笔颜色
    //        g.fillRect(10,10,100,100);
    
    //        画图片:drawImage(Image img,int x,int y,ImageObserver observer )
            //1.获取图片资源==>在项目的根目录获取图片
    //        Image image=Toolkit.getDefaultToolkit().getImage("D:\\Java_code\\LearnPlus\\out\\production\\LearnPlus\\dog.jpg");
    //        g.drawImage(image,10,10,715,720,this);
    
            //画字符串
            g.drawString("SB",10,10);
    
            //给画笔设置颜色和字体
            g.setColor(Color.red);
            g.setFont(new Font("隶书",Font.BOLD,50));//字体,粗体,大小
            g.drawString("北京欢迎你",100,100);//对应坐标为字体的左下角
        }
    
    }
    
    展开全文
  • java--绘图坐标体系

    万次阅读 2016-11-09 21:30:23
    Java---绘图坐标体系 在面板上画出各种图形 /*  * 功能:  */ package com.panhui; import java.awt.*; import javax.swing.*; public class Class1 extends JFrame{   //定义一个类,在构造方法进行初始化 ...

     

    Java---绘图坐标体系
    在面板上画出各种图形
    /*
     * 功能:
     */


    package com.panhui;


    import java.awt.*;
    import javax.swing.*;


    public class Class1 extends JFrame{
     
    //定义一个类,在构造方法中进行初始化
    MyPanel mp = null;
    public static void main(String[] args) {
    // TODO Auto-generated method stub
           
    Class1 class1 = new Class1();
    }


    //构造方法,完成相应的初始化
    public Class1()
    {
    mp = new MyPanel();

    this.add(mp);
    this.setSize(500,500);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setVisible(true);

    }


    }


    //定义一个MyPanel类(我自己的面板,适用于绘图和现实绘图的区域)
    class MyPanel extends JPanel
    {
        //覆盖JPanel的paint方法
    //Graphics 是绘图的重要类,你可以把它理解为一直画笔
    public void paint(Graphics g)
    {
    //1,调用父类函数完成初始化
    //这句话不能少
    super.paint(g);

    //先画一个圆
    g.drawOval(10,10,20,29);

    //画一条直线
    g.drawLine(40,40 , 60, 60);

    //矩形边框
    g.drawRect(70, 70, 80, 80);

    //填充矩形
    g.setColor(Color.BLUE);
    g.fillRect(90,90,100,100);

    //填充椭圆
    g.setColor(Color.red);
    g.fillOval(0, 0, 10, 10);

    //画图片

    Image im = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/图片.jpg"));
    g.drawImage(im, 150, 150,400,400,this);

    //画字符串
    g.setColor(Color.red);
    g.setFont(new Font("",Font.BOLD,30));
    g.drawString("我是哈哈", 50, 20);
    }
    }
    截图:

     

     

     

     

     

     

    小贴士:ctrl + ‘/’表示注释代码
    注意点:图片放在src组中,不然会找不到图片的位置

     

     

     

     

     

     

     

     

     


      

     

    展开全文
  • 要求:在原图片上,根据坐标点,框出指定位置 原图: 已知坐标位置: "location": { "width": 440, "top": 3, "height": 716, "left": 2289 } 绘制后图片: 代码示例: package com.test.demo; ...

    要求:在原图片上,根据坐标点,框出指定位置
    原图:
    在这里插入图片描述
    已知坐标位置:

    "location": {
    			"width": 440,
    			"top": 3,
    			"height": 716,
    			"left": 2289
    		}
    

    绘制后图片:
    在这里插入图片描述
    代码示例:

    package com.test.demo;
    
    import java.awt.BasicStroke;
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics2D;
    import java.awt.image.BufferedImage;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    
    public class DrawImage {
    	public static void main(String[] args) {
    		int width = 440;
    		int height = 716;
    		int y = 3;//top
    		int x = 2289;//left
    		String oriImagePath = "F:\\image\\hjsb44";
    		String imagetype = ".jpg";
    		String oriImage = oriImagePath + imagetype;
    		String copyImageName = "_copy";
    		String drawImage = oriImagePath + copyImageName + imagetype;
    		BufferedImage bufferedImage = null;
    		//读取图片文件,得到BufferedImage对象
    		try {
    			bufferedImage = ImageIO.read(new FileInputStream(oriImage));
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		//得到Graphics2D 对象
    		Graphics2D g2D=(Graphics2D)bufferedImage.getGraphics();
    		//设置颜色、画笔粗细
    		g2D.setColor(Color.RED);
    		g2D.setStroke(new BasicStroke(5));
    		//绘制矩形
    		g2D.drawRect(x, y, width, height);
    		g2D.setFont(new Font("",Font.BOLD,40));
    		//绘制文字
    		g2D.drawString("XXX洗衣液", x+10, y+60);
    		
    		try {
    			//保存绘制后的新图片
    			ImageIO.write(bufferedImage, "JPG",new FileOutputStream(drawImage));
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		
    	}
    }
    
    
    展开全文
  • setTitle("绘图实例"); add(new Mypanel()); validate(); } public static void main(String[] args) { // TODO Auto-generated method stub new My3(); } } class Mypanel extends ...
  • 从网上获得的资料,感觉很好,分享一下!
  • Java初学笔记21一、Java绘图坐标体系1. 坐标体系2. 像素3. 快速入门案例4. 绘图原理(1)在以下情况paint()将会被调用:(2)Component类提供了paint、repaint:5. Graphics 类(1)Graphics类可以理解就是画笔(2)...

    一、Java绘图坐标体系

    1. 坐标体系

    下图说明了Java坐标系。坐标原点位于左上角,以像素为单位。在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。
    【Java绘图坐标体系】
    在这里插入图片描述

    2. 像素

    计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成的。例如,计算机显示器的分辨率是800×600,表示计算机屏幕上的每一行由800个点组成,共有600行,整个计算机屏幕共有480000个像素。像素是一个密度单位,而厘米是长度单位,两者无法比较比较。

    3. 快速入门案例

    在这里插入图片描述
    在这里插入图片描述

    4. 绘图原理

    (1)在以下情况paint()将会被调用:

    【1】当组件第一次在屏幕显示的时候,程序会自动的调用paint()方法来绘制组件
    【2】窗口最小化,再最大化
    【3】窗口的大小发生变化
    

    (2)Component类提供了paint、repaint:

    【1】paint(Graphics g)绘制组件的外观
    【2】repaint()刷新组件的外观。
    

    5. Graphics 类

    (1)Graphics类可以理解就是画笔

    为我们提供了各种绘制图形的方法:[参考jdk帮助文档
    

    (2)画直线drawLine(int x1,int y1,int x2,int y2)

    (3)画矩形边框drawRect(int x, int y. int width, int height)

    (4)画椭圆边框drawOval(int x, int y, int width, int height)

    (5)填充矩形 fillRect(int x, int y, int width, int height)

    【1】需要先设置画笔颜色setColor(Color c)
    【2】再绘制矩形。
    

    (6)填充椭圆fillOval(int x, int y, int width, int height)

    【1】需要先设置画笔颜色setColor(Color c)
    【2】再绘制椭圆。
    

    (7)画图片drawlmage(Image img, int x, int y, …)

    【1】先获取图片资源
    
    Image image = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/BG.png"));
    
    【2】再画图片drawlmage
    

    (8)画字符串(写字)drawString(String str, int x, int y)

    【1】需要先设置画笔颜色setColor(Color c)
    【2】再设置画笔的字体setFont(Font font)
    【3】再drawString(String str, int x, int y),这里的x,y是左下角
    

    (9)设置画笔的字体setFont(Font font)

    其中包括:隶书、粗体、大小

    (10)设置画笔的颜色setColor(Color c)

    二、Java事件处理机制

    1. KeyListener接口----监听器
    2. 可以监听键盘事件,在画板中加入监听键盘的对象

    3. keyTyped(KeyEvent e)

    有字符输出时,该方法就会触发

    4. keyPressed(KeyEvent e)

    当某个键按下,该方法会触发

    5. keyReleased(KeyEvent e)

    当某个键释放(松开),该方法会触发

    1. java事件处理是采取"委派事件模型"。当事件发生时,产生事件的对象,会把此"信息”传递给"事件的监听者"处理,这里所说的"信息"实际上就是 java.awt.event事件类库里某个类所创建的对象,把它称为"事件的对象"。
      【事件处理机制图】

    7. 事件监听器接口:KeyListener

    (1)当事件源产生一个事件,可以传送给事件监听者处理
    (2)事件监听者实际上就是一个类, 该类实现了某个事件监听器接口。比如前面案例中的MyPanle就是一个类,它实现了KeyListener接口,它就可以作为-一个事件监听者,对接受到的事件进行处理
    (3)事件监听器接口有多种,不同的事件监听器接口可以监听不同的事件,一个类可以实现多个不同种类的监听接口
    (4)这些接口在java.awt.event包和javax.swing.event包中定义。
    (5)事件类型
    【事件类型】
    在这里插入图片描述

    三、坦克项目02

    1. 画敌人坦克
      (1)因为敌人的坦克,是在MyPanel上,所以我们的代码在MyPanel
      (2)因为敌人的坦克,后面有自己特殊的属性和方法,可以单开一个EnemyTank
      (3)敌人坦克数量多,可以放入到集合Vector,因为考虑多线程问题

    2. 部分代码
      坦克模型
      在这里插入图片描述

    3. Tank
      在这里插入图片描述

    4. MyTank
      在这里插入图片描述

    5. EnemyTank
      在这里插入图片描述

    6. TankPanel
      在这里插入图片描述

    7. TankGame02
      在这里插入图片描述

    展开全文
  • java坐标,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。   绘图还必须要搞清楚一个非常重要的概念,像素:  计算机...
  • 功能:在坐标系上绘制坦克 1 /* 2 * 功能:坦克游戏的1.0 3 * 1. 画出坦克 4 * */ 5 package com.tank; 6 7 import javax.swing.*; 8 9 import java.awt.*; 10 public class demo2 extends ...
  • java实现坐标旋转计算公式

    千次阅读 2012-09-10 17:43:37
    设在直角坐标中的点 P(x,y) 用极坐标表示为 P(r,θ)。这时有 xy=rcosθ=rsinθ 当把它绕原点逆时针转过 Δθ 角度时,新的位置是 P′(r,θ+Δθ)。此时 x′y′=rcos(θ+Δθ)=rsin(θ+Δθ)=
  • Java从网络取得文件 1个目标文件 简单 Java从压缩包提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...
  • JavaFX 画图-直角坐标

    千次阅读 2018-04-22 17:40:00
    JavaFX 画图-直角坐标系1.实际效果 2.分析 1. 如图所绘制的直角坐标系是由三个主要部分组成的 ①实心三角形,即坐标轴正方向 ②坐标轴,即一条水平直线和竖直直线 ③坐标原点(不用画出) 2. 坐标系由三部分...
  • javaSwing 学习---图形坐标

    千次阅读 2019-10-08 19:07:59
    在图形坐标,其原点位于构件的左上角,坐标轴沿向下和右的方向增长,小圈代表坐标,正方形代表像素,坐标位于像素之间: 不过要特别注意,绘制字体时,原点位于左上下角!  通过调用Graphics.drawRect()...
  • Java绘图

    万次阅读 多人点赞 2019-04-27 21:50:04
    绘图可以在应用程序绘制图片、文字、图形等,在Java中主要可以使用Graphics和Graphics2D进行绘图,其中Graphics类是所有图形上下文的抽象基类,而Graphics2D就继承了Graphics类。而Graphics功能没有Graphics2D强大...
  • java绘图坐标体系

    千次阅读 2017-04-11 19:18:26
    (x1,y2)表示线段左上角值 (x2,y2)表示右下角坐标值 2.绘制普通矩形方法 drawRect(int x,int y,int width,int height);//边框型矩形 fillRect(int x,int y,int width,int height);//填充型矩
  • java画图

    千次阅读 2018-11-22 20:32:27
    我们要使用的Java画图,要用到的就是AWT和Swing,核心就是Graphics2D的这个类,我们使用的Java画圆飘动。 最终的效果图如下: 在这里我们先缕缕思路,我们要在窗口画,那么我们就要有一个窗口(JFrame的)...
  • java绘制折线图的类很多,但是折线图上对应的点的坐标只能被设置为int型数据,而我的项目对应的点坐标值都是浮点类型,这在代码如何做修改,有哪些相关java类可以设置浮点坐标呢,求经验丰富的前辈指点!
  • java 绘图详细教程

    2020-05-04 18:56:44
    1. 绘图三方法:     1) AWT绘图的核心就是三个方法:paint、update、repaint;     2) 三者的调用关系是repaint调用update,update调用paint;     3) 首先看...
  • Java 实现根据图片的坐标轴进行切图

    千次阅读 2019-10-24 19:06:16
    二:根据BufferedImage获取坐标轴 三:根据图片的x、y轴、宽和高来进行切图。 将本地图片或者图片url 转换未BufferedImage的方法 请看:Java实现读取本地或者图片链接地址 一:获取图片BufferedImage的信息: ...
  • 经纬度(坐标)相关的小工具(JAVA)

    千次阅读 2019-03-25 12:09:22
    记录一些经纬度相关的小工具计算坐标点是否在指定区域内计算两点间的距离 计算坐标点是否在指定区域内 先导入计算依赖包 <dependency> <groupId>com.vividsolutions</groupId> <...
  • JAVA简单画图程序

    万次阅读 多人点赞 2018-09-09 21:10:28
    创建一个Draw类,在主函数实例化Draw类,并调用Ondraw方法 public class Draw{ public static void main(String[] args) { //在主函数,实例化Draw类的对象,调用初始化界面的方法 Dra...
  • import java.awt.Color; import java.awt.Font; import java.awt.Frame; import java.awt.Graphics; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java...
  • python中画图如何修改横坐标大小?

    千次阅读 2021-01-18 14:36:51
    用matplotlib画二维图像时,默认情况下的横坐标和纵坐标显示的值有时达不到自己的需求,需要借助xticks()和yticks()分别对横坐标x-axis和纵坐标y-axis进行设置。 import numpy as np import matplotlib.pyplot as ...
  • Java实现简单画图工具

    千次阅读 2020-05-23 16:52:30
    //坐标 private void writeObject(java.io.ObjectOutputStream out) throws IOException { out.defaultWriteObject(); } private void readObject(java.io.ObjectInputStream in) throws IOException, ...
  • Java读取图片的地理坐标(三)

    千次阅读 2017-10-11 11:12:47
    画图程序新建一个17*15的白色图像,另存为TIF文件: 0000:  49 49 2A 00 4E 00 00 00  80 3F E0 50 38 24 16 0D 0010: 07 84 42 61 50 B8 64 36 1D 0F 88 44 62 ...
  • java 绘图板程序

    2012-12-31 10:54:18
    小型的绘图板程序(采用多文档结构),包括基本的菜单栏... (4)状态栏:显示当前绘图区域鼠标的坐标、背景颜色、线条颜色、绘图工具;  (5)绘图区:实现多文档结构绘制十种基本图形,并附加橡皮擦,文本输入;

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,784
精华内容 6,313
关键字:

java绘图的坐标

java 订阅