java 根据点画不规则封闭图形

本文介绍使用Java进行绘图的基本方法,包括创建BufferedImage对象,利用Graphics2D环境进行绘图,以及如何将绘制的图像保存为JPEG格式。通过实例展示了如何连接一系列点形成图形并填充颜色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public void sketch(List<Point> pointList) throws FileNotFoundException , IOException{  
         
       BufferedImage bi = new BufferedImage  //得到图片缓冲区  
               (512,512,BufferedImage.TYPE_INT_RGB);//INT精确度达到一定,RGB三原色,宽度512,高度512  
         
       Graphics2D g2 = (Graphics2D) bi.getGraphics();//得到它的绘制环境(这张图片的笔)  
       g2.setColor(Color.BLACK);   //设置画笔黑色  
  
       g2.fillRect(0, 0, bi.getWidth(), bi.getHeight()); //全图填充黑色  
       GeneralPath gp=new GeneralPath(); //shape的子类,表示一个形状  
  
       Point p1=pointList.remove(0);  
       Point p2=pointList.remove(0);  
       gp.append(new Line2D.Double(p1.x,p1.y,p2.x,p2.y),true); //两个点画第一条直线  
         
       for(Point point: pointList){    //直线分别与余下的点相连  
           gp.lineTo(point.x,point.y);   
       }  
       gp.closePath(); //闭合图形  
       g2.setColor(Color.WHITE);   //设置画笔白色  
       g2.fill(gp);    //填充图形  
       ImageIO.write(bi,"JPEG",new FileOutputStream("G:\\a.jpg"));//保存图片 JPEG表示保存格式  
   }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值