Java——绘制五角星
Java2D支持通过GeneralPath实现绘制任意的几何形状。
步骤:1)实例化GeneralPath对象
2)调用moveTo()方法锚地开始点坐标
3)调用lineTo()或curveTo()方法绘制连接线
4)调用closePath()方法完成几何形状绘制
package chapter1;
import javax.swing.*;
import java.awt.*;
import java.awt.geom.GeneralPath;
public class GeneralPathDemo extends JPanel {
private static final long serialVersionUID = 1L;
public GeneralPathDemo(){
super();
}
public void paintComponent(Graphics g){
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
int x1 = this.getWidth()/5;
int y1 = this.getHeight()-20;
int x2 = this.getWidth()/2;
int y2 = 20;
int x3 = this.getWidth()-20;
int y3 = this.getHeight()-20;
int x4 = 20;
int y4 = this.getHeight()/3;
int x5 = this.getWidth()-20;
int y5 = y4;
int x1points[] = {x1,x2,x3,x4,x5};
int y1points[] = {y1,y2,y3,y4,y5};
g2d.setPaint(Color.RED);
GeneralPath polygon = new GeneralPath(GeneralPath.WIND_EVEN_ODD,x1points.length);
polygon.moveTo(x1points[0],y1points[0]);
//顺序画下其他点
for(int i=1; i<x1points.length; i++){
polygon.lineTo(x1points[i],y1points[i]);
}
polygon.closePath();//调用closePath形成一个封闭几何形状
g2d.draw(polygon);//绘制
g2d.dispose();//释放资源
}
public static void main(String args[]){
JFrame jf = new JFrame("Demo Graphics");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.getContentPane().setLayout(new BorderLayout());
jf.getContentPane().add(new GeneralPathDemo(), BorderLayout.CENTER);
jf.setPreferredSize(new Dimension(380, 380));
jf.pack();
jf.setVisible(true);
}
}
Java——绘制五角星的更多相关文章
- WPF-22:WPF绘制五角星改进版(增加半个五角星的绘制)-修改bug
之前用坐标画多边形的方法,绘制五角星.今天调试时发现当时写的时候有bug,修改一下. 原文: http://blog.csdn.net/yysyangyangyangshan/article/deta ...
- HTML5 给图形绘制阴影(绘制五角星示例)
几个属性 shadowOffsetX:阴影的横向位移量. shadowOffsetY:阴影的纵向位移量. shadowColor:阴影的颜色. shadowBlur:阴影的模糊范围. 属性说明 sha ...
- python绘制五角星
问题描述: python中运用turtle图形模块绘制五角星 问题分析: turtle绘制图形时,得知图形中重要点的坐标非常重要. 于是,绘制五角星问题转化成为一个数学问题,计算五个顶点坐标即可. 已 ...
- Java绘制艺术图形
本例主要是通过使用坐标轴平移,图形旋转和获得随机数等技术来绘制艺术图案.通过重写JPanel类中的paint()方法,并在该方法中使用Graphics2D类中的translate(),setColor ...
- canvas绘制五角星详细过程
canvas绘制 <canvas id="straight"></canvas> <script> var canvas = document. ...
- Java绘制图片并进行合成
以下代码可以生成六行两列的图片,代码改成了可以接受参数可循环的. package com.xgt.util; import com.sun.image.codec.jpeg.JPEGCodec; im ...
- 使用Java绘制验证码
效果图: JDemo.java import java.io.File; import java.io.IOException; import static java.lang.System.out; ...
- HTML5 Canvas 绘制五角星
代码: <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type ...
- Java 绘制环形的文字 (Circle Text Demo)
1. [代码]CircleTextDemo.java import java.awt.*;import java.awt.event.*;import java.awt.geom.*; /** ...
随机推荐
- linux-dns-11
1网卡设置配置文件里面DNS服务器地址设置,2.系统默认DNS服务器地址设置.3,hosts文件指定 生效顺序是: 1 hosts文件 ---- 2 网卡配置文件DNS服务地址 ---3 /etc/r ...
- linux-shell脚本基础-2
1,用户组 添加用户 useradd -u UID -o -g 指定 GID或组名 -c 注释信息 -d 家目录 -s shell -G 附加组 -r 系统用户 -m 家目录,系统用户 -M 不创建家 ...
- 启动 jvm 参数小总结
1.启动某项目 nohup java -jar -Xms256m -Xmx512m -Dspring.config.location=/config/application.yml -Dfile.en ...
- 上传200G文件
最近遇见一个需要上传百G大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现. 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表 ...
- 3D Computer Grapihcs Using OpenGL - 13 优化矩阵
上节说过矩阵是可以结合的,而且相乘是按照和应用顺序相反的顺序进行的.我们之前初始化translationMatrix和rotationMatrix的时候,第一个参数都是使用的一个初始矩阵 glm::m ...
- Spring Data Jpa (五)@Entity实例里面常用注解详解
详细介绍javax.persistence下面的Entity中常用的注解. 虽然Spring Data JPA已经帮我们对数据的操作封装得很好了,约定大于配置思想,帮我们默认了很多东西.JPA(Jav ...
- postman抓包
三个问题: 如何安装? 基本了解? 如何使用? 一.安装方法: 包括离线端安装和chrome插件安装,我用chrome插件安装成功 postman安装及使用 打开Chrome,依次选择“选项”> ...
- SQL Server阻塞blocking案例分析
今天在性能测试过程中发现大量阻塞报警,检查whoisactive(https://github.com/amachanic/sp_whoisactive/)数据发现,阻塞blocking头部sessi ...
- Nor Flash芯片特性分析
Nor Flash是Intel在1988年推出的非易失闪存芯片,可随机读取,擦写时间长,可以擦写1~100W次,支持XIP(eXecute In Place). 本文以JS28F512M29EWH为例 ...
- A 内存挂 B 封包挂 C 钩子挂 D CALL挂 外挂
https://www.zhihu.com/question/32291769 作者:猎狐链接:https://www.zhihu.com/question/32291769/answer/70929 ...