源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java 2d画图示例分享(用java画图)

  • 时间:2021-09-10 17:54 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java 2d画图示例分享(用java画图)
Java 2D API通过扩展抽象窗口工具箱(AWT),为Java程序提供了二维图像,文本和图形的功能。这个复杂的渲染包支持线形图像,文本和图形,为富用户界面,复杂绘图程序和图像处理器开发者提供灵活的,功能强大的框架。Java 2D对象出现在一个平面中,称为用户坐标系空间,和设备坐标系空间。当对象在屏幕或打印机中渲染时,用户空间坐标系被转换成设备空间坐标系。
[u]复制代码[/u] 代码如下:
import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.Random; import javax.imageio.*; import javax.imageio.stream.ImageOutputStream; public class test {     public static void main(String[] args) throws IOException {         int width = 800;         int height = 800;         BufferedImage image = new BufferedImage(                 width, height, BufferedImage.TYPE_INT_RGB);         Graphics2D g2d = image.createGraphics();         g2d.setColor(Color.white);         g2d.fillRect(0, 0, width, height);         g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,                 RenderingHints.VALUE_ANTIALIAS_ON);         Random random = new Random();         int wo = 0;         int ho = 0;         for (int i = 0; i < 10; i++) {          int x = random.nextInt(width);          int y = random.nextInt(height);             g2d.setColor(new Color(random.nextInt(256),                     random.nextInt(256), random.nextInt(256)));             g2d.setStroke(new BasicStroke(1));             g2d.drawString("node"+i, x, y);             g2d.drawArc(x, y, 20, 20, 0, 360);             if(i!=0){              g2d.drawLine(wo, ho, x, y);             }             wo = x;             ho = y;         }         g2d.dispose();                 ImageWriter writer = null;         ImageTypeSpecifier type =             ImageTypeSpecifier.createFromRenderedImage(image);         Iterator iter = ImageIO.getImageWriters(type, "jpg");         if (iter.hasNext()) {             writer = (ImageWriter)iter.next();         }         if (writer == null) {             return;         }         IIOImage iioImage = new IIOImage(image, null, null);         ImageWriteParam param = writer.getDefaultWriteParam();         param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);         param.setCompressionQuality((float) ((10) / 10.0));         ImageOutputStream outputStream =           ImageIO.createImageOutputStream(new File("C:/test.jpg"));         writer.setOutput(outputStream);         writer.write(null, iioImage, param);     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部