英文网站建设公司 杭州,华为自助建站,代做百度首页排名,找人做网站需要注意问题文章目录
Java绘图
Java绘图类
绘图颜色与画笔属性
设置颜色
设置画笔
绘制文本
显示图片
图像处理
1、放大与缩小
2、图像翻转
3、图像旋转
4、图像倾斜
End
Java绘图
Java绘图是指在Java程序中创建和显示图形的过程。Java提供了许多类和方法来支持绘图。
Jav…文章目录
Java绘图
Java绘图类
绘图颜色与画笔属性
设置颜色
设置画笔
绘制文本
显示图片
图像处理
1、放大与缩小
2、图像翻转
3、图像旋转
4、图像倾斜
End
Java绘图
Java绘图是指在Java程序中创建和显示图形的过程。Java提供了许多类和方法来支持绘图。
Java绘图类
Java中主要的绘图类是Graphics类它提供了基本的绘图方法和属性设置方法。
在这里插入图片描述
Graphics类的一些常用方法
setColor(Color c)设置绘图颜色。
setFont(Font f)设置绘图字体。
drawRect(int x, int y, int width, int height)绘制矩形。
drawOval(int x, int y, int width, int height)绘制椭圆形。
drawPolygon(int[] xPoints, int[] yPoints, int nPoints)绘制多边形。
drawString(String str, int x, int y)绘制文本。
drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)绘制图像。
在这里插入图片描述
示例
package demo_1;
import sun.java2d.loops.DrawPath;
import javax.swing.*;
import java.awt.*;
public class text_1 extends JFrame { public text_1() throws HeadlessException { initialize(); } public void initialize(){ setSize(300,200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setContentPane(new DrawPath()); setTitle(芜湖); } class DrawPath extends JPanel{ public void paint(Graphics g){ g.drawOval(10,10,80,80); g.drawOval(80,10,80,80); g.drawOval(150,10,80,80); g.drawOval(50,70,80,80); g.drawOval(120,70,80,80); } } public static void main(String[] args) { new text_1().setVisible(true); }
}
Graphics2D类
Java中的Graphics2D类是Graphics类的扩展提供了更高级的绘图功能和更灵活的绘图控制。Graphics2D类可以控制绘图颜色、线条粗细、填充方式等并支持更复杂的图形绘制和渲染效果。
示例
public class Mian{ public static void main(String[] args) { JFrame jfnew JFrame(wuhu); jf.setSize(500,500); jf.add(new MyPanel()); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setVisible(true); }
}
class MyPanel extends JPanel { // 定义一个名为 MyPanel 的类继承自 JPanel 类用于绘制图形 public void paintComponent(Graphics g) { // 重写 JPanel 类中的 paintComponent 方法用于绘制图形 super.paintComponent(g); // 调用父类的 paintComponent 方法进行默认的界面绘制 // 获取 Graphics 对象并强制转换为 Graphics2D 对象 Graphics2D g2d (Graphics2D) g; // 设置绘图颜色为红色 g2d.setColor(Color.RED); // 设置线条粗细为 2f g2d.setStroke(new BasicStroke(2f)); // 绘制一个填充的矩形左上角坐标为 (50,50)宽度为 100高度为 100填充颜色为红色 g2d.fillRect(50, 50, 100, 100); // 设置绘图颜色为黑色 g2d.setColor(Color.BLACK); // 设置字体为 Arial 字体字号为 24 g2d.setFont(new Font(Arial, Font.PLAIN, 24)); // 绘制文本文本内容为 Hello World!左上角坐标为 (100,150) g2d.drawString(Hello World!, 100, 150); }
}
绘图颜色与画笔属性
Java语言使用Color类封装颜色的各种颜色并对颜色进行管理。另外在绘制图形时还可以指定线的粗细和虚实等画笔属性。
设置颜色
使用Color类可以创建任意颜色的对象不用担心平台是否支持该颜色因为Java是以跨平台和与硬件无关的方式支持对颜色的管理。
绘图类可以使用setColor()方法设置当前颜色。语法如下
setColor(Color color); // 设置当前颜色
1
Color类提供了多个构造方法以下为常用的构造方法。
在这里插入图片描述
Color类还提供了多个常量表示常用颜色。
在这里插入图片描述
具体查看JavaApi文档。
设置画笔
默认情况下Graphics类使用的画笔属性是粗细为1个像素的正方形而Graphics2D类可以调用setStroke()方法设置画笔的属性如改变线条的粗细、虚实定义线段端点的形状风格等。
格式如下
setStroke(Stroke stroke);
1
设置笔刷
setPaint(Paint p): 此方法用于设置画笔的刷子。参数p是一个Paint对象表示所需的刷子。可以使用Color对象创建Paint对象。
设置粗细
setStroke(Stroke s): 此方法用于设置画笔的线条粗细。参数s是一个Stroke对象表示所需的线条样式。可以使用BasicStroke类创建不同的线条样式。
绘制文本
在Java中可以使用Graphics或Graphics2D类来绘制文本。这些类提供了许多方法来设置文本的字体、大小、颜色等属性以及绘制文本的位置和内容。
常用方法
setFont(Font f): 此方法用于设置文本的字体。参数f是一个Font对象表示所需的字体。可以使用Font类的静态常量来创建字体对象也可以使用构造函数来创建自定义字体对象。
setColor(Color c): 此方法用于设置文本的颜色。参数c是一个Color对象表示所需的颜色。可以使用Color类的静态常量来创建颜色对象也可以使用构造函数来创建自定义颜色对象。
drawString(String str, int x, int y): 此方法用于绘制文本。参数str是要绘制的文本x和y是文本的左上角坐标。
drawChars(char[] chars, int offset, int length, int x, int y): 此方法用于绘制字符数组中的一部分字符。参数chars是字符数组offset是开始绘制的偏移量length是绘制的字符数x和y是文本的左上角坐标。
drawString(AttributedString as, float x, float y): 此方法用于绘制具有附加属性的文本。参数as是一个AttributedString对象表示具有附加属性的文本x和y是文本的左上角坐标。附加属性可以包括字体、颜色、大小等属性。
示例
package demo_1;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.util.Date;
import java.awt.geom.Rectangle2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class text_1 extends JFrame{ public text_1() { setSize(230,140);//设置窗体大小 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置窗体关闭模式 add(new CanvasPanel());//设置窗体面板为绘图面板对象 setTitle(绘图文本);//设置窗体标题 } class CanvasPanel extends JPanel{ public void paint(Graphics g) { Graphics2D g2(Graphics2D) g; Rectangle2D rectnew Rectangle2D.Double(10, 10, 200, 80); g2.setColor(Color.CYAN);//设置当前绘图颜色 g2.fill(rect);//填充矩形 Font fontnew Font(宋体,Font.BOLD,16); g2.setColor(Color.BLUE);//设置当前绘图颜色 g2.setFont(font);//设置字体 g2.drawString(现在时间是, 20, 30);//绘制文本 Date datenew Date();