- 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);
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/2705201512682.html
来源: http://www.codesnippet.cn/detail/2705201512682.html