福建省建设干部培训中心网站首页,扬州做网站多少钱,大连市自然资源局,wordpress好还是discuzA.Graphics类 Graphics类是java.awt包中的一个类#xff0c;它用于在图形用户界面#xff08;GUI#xff09;或其他图形应用程序中进行绘制。该类通常与Component的paint方法一起使用#xff0c;以在组件上进行绘制操作。 一些Graphics类的常见用法和方法#xff1a;
在组…A.Graphics类 Graphics类是java.awt包中的一个类它用于在图形用户界面GUI或其他图形应用程序中进行绘制。该类通常与Component的paint方法一起使用以在组件上进行绘制操作。 一些Graphics类的常见用法和方法
在组件上绘制图形
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;class MyPanel extends JPanel {Overrideprotected void paintComponent(Graphics g) {super.paintComponent(g);// 绘制矩形g.drawRect(50, 50, 100, 100);// 绘制填充的矩形g.setColor(Color.BLUE);g.fillRect(200, 50, 100, 100);}
}public class MyFrame extends JFrame {public MyFrame() {add(new MyPanel());setSize(300, 200);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);setVisible(true);}public static void main(String[] args) {new MyFrame();}
}B.Graphics2D类 Graphics2D类是Java中java.awt包中的一个类它是Graphics类的子类提供了更丰富和高级的图形绘制功能。Graphics2D类支持矢量图形和更高级的绘图操作与Graphics相比它提供了更多的控制选项和更丰富的功能。 Graphics2D类的一些常见用法
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;class MyPanel extends JPanel {Overrideprotected void paintComponent(Graphics g) {super.paintComponent(g);// 将Graphics对象转换为Graphics2D对象Graphics2D g2d (Graphics2D) g;// 绘制直线g2d.drawLine(50, 50, 150, 150);// 绘制圆形g2d.setColor(Color.RED);g2d.drawOval(200, 50, 100, 100);}
}public class MyFrame extends JFrame {public MyFrame() {add(new MyPanel());setSize(300, 200);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);setVisible(true);}public static void main(String[] args) {new MyFrame();}
}C.绘制一个图像 可以使用Graphics或Graphics2D对象来绘制图像
D.绘制一个图形
例题1 例题2 绘制颜色与画笔属性 以使用Graphics或Graphics2D对象来绘制颜色和定义画笔属性
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;class ColorAndStrokePanel extends JPanel {Overrideprotected void paintComponent(Graphics g) {super.paintComponent(g);// 将Graphics对象转换为Graphics2D对象Graphics2D g2d (Graphics2D) g;// 设置颜色g2d.setColor(Color.BLUE);// 绘制填充的矩形g2d.fillRect(20, 20, 80, 80);// 设置颜色g2d.setColor(Color.RED);// 设置画笔宽度g2d.setStroke(new BasicStroke(5));// 绘制矩形边框g2d.drawRect(120, 20, 80, 80);}
}public class ColorAndStrokeExample extends JFrame {public ColorAndStrokeExample() {add(new ColorAndStrokePanel());setSize(250, 150);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);setVisible(true);}public static void main(String[] args) {new ColorAndStrokeExample();}
}设置颜色
使用 Color 类可以创建任意颜色的对象不用担心平台是否支持该颜色因为 Java 以跨平台和与硬件无关的方式支持颜色管理。创建 Color 对象的构造方法有如下两种:
Color col new Color(int r, int g, int b)
Color col new Color(int rgb)
设置画笔
Color类提供了一组预定义的颜色常量
这些预定义的颜色常量包括但不限于
Color.REDColor.GREENColor.BLUEColor.YELLOWColor.ORANGEColor.PINKColor.CYANColor.MAGENTAColor.BLACKColor.WHITEColor.GRAYColor.LIGHT_GRAYColor.DARK_GRAY
绘制文本
Java绘图类也可以用来绘制文本内容且可以在绘制设置字体的样式、大小等。
设置字体 可以使用Font类来设置字体的样式、大小和其他属性
Font类的构造函数接受三个参数字体名称Arial、字体样式Font.PLAIN、Font.BOLD、Font.ITALIC、或它们的组合、以及字体大小。使用g2d.setFont(font)方法来设置当前绘图上下文的字体。g2d.drawString(text, x, y)方法用于在指定位置绘制文本。
E.显示文字
例题3 F.显示图片
drawimage(lmage img, int x, int y, lmageObserver observer) 绘图类不仅可以绘制图形和文本还可以使用 drawImage0方法将图片资源显示到绘图上下文中,而且可以实现各种特效处理如图片的缩放、翻转等。有关图像处理的知识将在 19.6 节讲解本节主要讲解如何显示图片。
例题4 G.图像处理 开发高级的桌面应用程序必须掌握一些图像处理与动画制作的技术如在程序中显示统计图,销售趋势图、动态按钮等
放大与缩小
drawmage(lmage img, int x, int y, int width, int height, lmageObserver observer)
使用了 drawImage0方法将图片以原始大小显示在窗体中要想实现图的放大与缩小则需要使用它的重载方法。
例题5 图像翻转 水平垂直翻转 图像旋转 图像旋转 theta 是指旋转的弧度 说明rotate0方法只接受旋转的弧度作为参数可以使用 Math 类的 toRadians0)方法将角度转换为弧toRadians(方法接受角度值作为参数返回值是转换完毕的孤度值。
rotate(double theta) 需要调用 Graphics2D 类的 rotate0方法该方法将根据指定的弧度旋转图像。 图像的翻转
需要使用 drawImage0方法的另一个重载方法。
drawimage(lmage img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, lmageObserver observer
图像倾斜