package graphic2d; import java.awt.Color; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.image.BufferedImage; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; import java.util.Random; import javax.imageio.ImageIO; public class Graphic2DTest { public static void draw() throws IOException{ //绘制宽=480,长=640的图板 int width=480,hight=720; BufferedImage image = new BufferedImage(width,hight,BufferedImage.TYPE_INT_RGB); //获取图形上下文,graphics想象成一个画笔 Graphics2D graphics = (Graphics2D)image.getGraphics(); //消除线条锯齿 graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); //对指定的矩形区域填充颜色 graphics.setColor(Color.ORANGE); //GREEN:绿色; 红色:RED; 灰色:GRAY graphics.fillRect(0, 0, 240, 720); //对指定的矩形区域填充颜色 graphics.setColor(Color.PINK); graphics.fillRect(240, 0, 240, 720); //生成随机数 Random random = new Random(); /* * 画线 x,y是坐标,定义线段的两个坐标点 */ graphics.setColor(Color.BLACK); int x=100,y=100,x1=100,y1=y; graphics.drawLine(x,y,x+x1,y1); /* *画出一个折线 */ int[] xPoints = {100,100,250,250}; int[] yPoints = {180,150,150,180}; graphics.drawPolyline(xPoints, yPoints, 4); /* * 画出一个闭合多边形(三角形) */ int[] xPoints1 = {100,100,200}; int[] yPoints1 = {240,320,280}; graphics.drawPolygon(xPoints1, yPoints1, 3); /* * 画出一个闭合多边形(菱形) */ int[] xPoints2 = {240,300,360,300}; int[] yPoints2 = {280,240,280,320}; graphics.drawPolygon(xPoints2, yPoints2, 4); graphics.setColor(Color.ORANGE); graphics.fillPolygon(xPoints2, yPoints2, 4); /* *绘制一个椭圆形 */ graphics.setColor(Color.GREEN); int xOval=100,yOval=360; graphics.drawOval(xOval, yOval, 100, 100); /* *绘制一个矩形 */ //graphics.setColor(Color.GRAY);//--设置矩形边框颜色 。GREEN:绿色; 红色:RED; 灰色:GRAY int xRect=240,yRect=360; graphics.drawRect(xRect, yRect, 200, 100); //设置文字颜色 graphics.setColor(new Color( 20+random.nextInt(100), 20+random.nextInt(100), 20+random.nextInt(100) )); //设置文字内容、位置 graphics.drawString("直线",100+50,100-5); graphics.drawString("折线", 200, 150-5); graphics.drawString("空心三角形", 110, 280); graphics.drawString("实心菱形", 300-20, 280); graphics.drawString("椭圆形", 100+50, 360+50); graphics.drawString("矩形", 240+50, 360+50); //graphics.drawString("错误的背景颜色", 100, 540); //graphics.setPaintMode(); //graphics.translate(400, 600); graphics.dispose();//释放此图形的上下文并释放它所使用的所有系统资源 FileOutputStream out=new FileOutputStream("d:/1.jpeg"); ImageIO.write(image,"JPEG",out); out.flush(); out.close(); //super.doGet(request, response); } public static void main(String[] args) { try { draw(); } catch (IOException e) { e.printStackTrace(); } } }
转自网络
相关推荐
在Java中,2D图形处理主要通过`java.awt`和`javax.swing`包中的类和接口实现,特别是`java.awt.Graphics2D`类,它是2D绘图的核心。 一、Graphics2D类 `Graphics2D`是`Graphics`类的子类,提供了丰富的2D绘图功能。...
1. `Graphics2D` 类:这是Java 2D绘图的核心类,继承自`Graphics`,扩展了更多的二维图形操作功能。通过`Graphics2D`对象,你可以绘制各种几何形状(如矩形、椭圆、线条)、路径、文本和图像。 2. `Shape` 接口:...
通过深入阅读并实践书中的例子,开发者可以深入理解如何利用Java 2D API创建出强大的可视化应用程序。 Java 2D API包含了一系列类和接口,用于在Java应用程序中绘制文本、线、形状、图像等。这些API主要位于java....
"Graphic绘图"这个主题主要涉及如何使用各种编程语言和库来创建动态和静态的图表,如曲线图、饼状图和条形图,以直观地展示数据。下面我们将深入探讨这个领域的几个重要知识点。 1. **曲线图绘制**: 曲线图是一种...
java中 Graphic类的继承及其基本用法,Graphic 作为抽象类,其用法继承组件,重写paint
Java swing graphic demo
Java绘图技术的详解及实例主要介绍了Java语言中Graphics类的使用和Java绘图技术的相关知识点。 一、Java绘图技术的基础知识 Java绘图技术的基础知识包括Graphics类、Component类和Paint方法。Graphics类是Java语言...
在本案例中,我们探讨了如何使用Python3.x和PyQt5库来创建一个具有图形界面的应用程序,其中集成了matplotlib绘图功能,并且实现了业务逻辑与用户界面的分离。这个名为"Python3.x+Pyqt5实现绘图界面(matplotlib绘图...
Sorting (Bubble, Selection, Insertion, Merge, Quick), using Java Graphic, with detail animation and explanation.
7. **绘图优化**:为了提高绘图效率,可以在BeginPaint和EndPaint函数之间进行绘图,这两个函数会处理窗口的消息并创建适当的绘图环境。 8. **重绘与更新**:当需要更新视图时,可以调用UpdateWindow或Invalidate...
这个小作业我用Graphic做的一个画图程序,看了肯定会用Graphic了 仅对于初学者啊
本文主要介绍了C#实现动态数据绘图graphic的方法,结合实例形式分析了C#根据动态数据绘制2D数据表格的相关操作技巧。通过该示例,开发者可以学习如何使用C#语言实现动态数据绘图graphic,并应用于实际项目中。 一、...
java用填充多边形的方法填充一个三角形 主要代码: Icon icon = new Icon() { @Override public void paintIcon(Component c, Graphics g, int x, int y) { Graphics2D g2d = (Graphics2D) g; ...
下面是如何使用`StringFormat`设置字符间距的例子: ```csharp Font myFont = new Font("Arial", 12); // 创建一个字体对象 SolidBrush myBrush = new SolidBrush(Color.Black); // 创建一个画刷对象 StringFormat ...
根目录3d文件夹中有三个子文件夹 ...java3d是一个项目实例,其中运行文件在其目录下src/com/show.java中。jar包在其目录下bin文件夹中 程序师我在网上找的,注释是我根据自己的理解写的,所以只能仅供参考
STM32F429单片机的外设例程 51-STM32F429_GRAPHIC_DMA2D
"简单的摇杆控制2d角色demo"是一个基础的2D游戏项目,旨在展示如何通过摇杆实现角色的移动、射击以及与敌人的交互。下面将详细解析这个项目的相关知识点。 首先,我们来关注核心的摇杆控制机制。在2D游戏中,虚拟...
超厉害的工具类,将图片的大小进行缩放,图片不失真,还有图片转换格式
由于要求设置出画笔的粗细和颜色我们可以把我们获取的面板的Graphic强制转化为Graphi2D对象,职业我们就可以获得更多的画笔功能。另外要求把图形保存到为文件,因此需要使用到对象串行化实现图形对象的保存。绘图...
标题中的“51-STM32F429_GRAPHIC_DMA2D”表明这是一个与STM32F429微控制器相关的项目,重点是图形处理和DMA2D(Direct Memory Access for 2D)功能。这个7z压缩包可能包含了与开发基于STM32F429的图形应用相关的源...