当前位置: 首页 > news >正文

简单旅游网站开发苏州网站开发公司兴田德润放心

简单旅游网站开发,苏州网站开发公司兴田德润放心,深圳网站设计官网,阿里云要求的网站建设方案一、基本形状类 这些类用于绘制简单的标准几何形状。 1. 圆形 / 椭圆类 Ellipse2D:椭圆基类,支持浮点精度。 子类: Ellipse2D.Double:双精度浮点坐标。Ellipse2D.Float:单精度浮点坐标。 参数:x, y, wid…

一、基本形状类

这些类用于绘制简单的标准几何形状。

1. 圆形 / 椭圆类
  • Ellipse2D:椭圆基类,支持浮点精度。
    • 子类
      • Ellipse2D.Double:双精度浮点坐标。
      • Ellipse2D.Float:单精度浮点坐标。
    • 参数x, y, width, height(矩形边界框)。
    • 特点:当宽高相等时为圆形,否则为椭圆。
2. 矩形类
  • Rectangle2D:矩形基类,支持浮点精度。
    • 子类
      • Rectangle2D.Double:双精度浮点坐标。
      • Rectangle2D.Float:单精度浮点坐标。
    • 参数x, y, width, height(左上角坐标和尺寸)。
3. 圆角矩形类
  • RoundRectangle2D:圆角矩形基类。
    • 子类
      • RoundRectangle2D.Double:双精度浮点坐标。
      • RoundRectangle2D.Float:单精度浮点坐标。
    • 参数x, y, width, height, arcWidth, arcHeightarcWidth 和 arcHeight 控制圆角大小)。
4. 弧形类
  • Arc2D:弧形基类。
    • 子类
      • Arc2D.Double:双精度浮点坐标。
      • Arc2D.Float:单精度浮点坐标。
    • 参数x, y, width, height, startAngle, extent, type
      • type 可选:OPEN(开放式)、CHORD(弦形)、PIE(扇形)。
5. 多边形类
  • Polygon:整数精度的多边形,通过顶点数组定义。
    • 参数xpoints[](X 坐标数组)、ypoints[](Y 坐标数组)、npoints(顶点数量)。
    • 特点:自动连接首尾顶点形成封闭图形。

二、路径形状类

这些类用于绘制复杂的自定义形状。

1. 线段类
  • Line2D:线段基类。
    • 子类
      • Line2D.Double:双精度浮点坐标。
      • Line2D.Float:单精度浮点坐标。
    • 参数:起点 (x1, y1) 和终点 (x2, y2)
2. 二次贝塞尔曲线
  • QuadCurve2D:二次贝塞尔曲线基类。
    • 子类
      • QuadCurve2D.Double:双精度浮点坐标。
      • QuadCurve2D.Float:单精度浮点坐标。
    • 参数:起点 (x1, y1)、控制点 (ctrlx, ctrly)、终点 (x2, y2)
3. 三次贝塞尔曲线
  • CubicCurve2D:三次贝塞尔曲线基类。
    • 子类
      • CubicCurve2D.Double:双精度浮点坐标。
      • CubicCurve2D.Float:单精度浮点坐标。
    • 参数:起点 (x1, y1)、控制点 1 (ctrlx1, ctrly1)、控制点 2 (ctrlx2, ctrly2)、终点 (x2, y2)
4. 通用路径类
  • GeneralPath:可组合多个线段和曲线,形成复杂形状。
    • 特点:通过 moveTo()lineTo()curveTo() 等方法动态构建路径。
5. 2D 路径类
  • Path2D:增强版的 GeneralPath,支持浮点精度。
    • 子类
      • Path2D.Double:双精度浮点坐标。
      • Path2D.Float:单精度浮点坐标。

三、其他类

  • Area:用于图形的布尔运算(并集、交集、差集)。
  • RectangularShape:抽象基类,包含 Ellipse2D 和 RoundRectangle2D
  • Caret 相关类
    • BasicTextUI.BasicCaretDefaultCaret:文本编辑器中的光标,与绘图无关。

四、参数共同点与区别

1. 共同点
  • 坐标精度:所有类都有 Double 和 Float 两个子类,分别表示双精度和单精度浮点坐标。
  • 矩形边界框:多数基本形状(如椭圆、矩形、圆角矩形)使用 (x, y, width, height) 定义边界框。
2. 区别
  • 特殊参数
    • 弧形:额外需要 startAngle(起始角度)、extent(角度范围)、type(类型)。
    • 圆角矩形:额外需要 arcWidth 和 arcHeight(圆角大小)。
    • 贝塞尔曲线:需要控制点坐标,次数越高控制点越多。
  • 构建方式
    • 基本形状:通过构造函数直接定义。
    • 路径形状:通过方法动态添加线段和曲线。

五、如何选择合适的类?

  • 画圆 / 椭圆:用 Ellipse2D.Double,宽高设为相等。
  • 画矩形:用 Rectangle2D.Double
  • 画圆角矩形:用 RoundRectangle2D.Double
  • 画弧形 / 扇形:用 Arc2D.Double,设置 type 为 PIE
  • 画直线:用 Line2D.Double
  • 画曲线
    • 简单曲线:QuadCurve2D.Double(一个控制点)。
    • 复杂曲线:CubicCurve2D.Double(两个控制点)。
  • 画多边形:用 Polygon,定义顶点数组。
  • 组合图形:用 GeneralPath 或 Path2D.Double,通过方法拼接线段和曲线。
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.geom.*;
    import javax.swing.*;public class ShapeDemo extends JPanel {@Overrideprotected void paintComponent(Graphics g) {super.paintComponent(g);Graphics2D g2 = (Graphics2D) g;// 1. 圆形Ellipse2D circle = new Ellipse2D.Double(50, 50, 100, 100);g2.setColor(Color.RED);g2.fill(circle);// 2. 矩形Rectangle2D rect = new Rectangle2D.Double(200, 50, 100, 80);g2.setColor(Color.BLUE);g2.fill(rect);// 3. 圆角矩形RoundRectangle2D roundRect = new RoundRectangle2D.Double(350, 50, 100, 80, 20, 20);g2.setColor(Color.GREEN);g2.fill(roundRect);// 4. 弧形(扇形)Arc2D arc = new Arc2D.Double(50, 200, 100, 100, 0, 90, Arc2D.PIE);g2.setColor(Color.ORANGE);g2.fill(arc);// 5. 线段Line2D line = new Line2D.Double(200, 200, 300, 300);g2.setColor(Color.BLACK);g2.draw(line);// 6. 二次贝塞尔曲线QuadCurve2D quad = new QuadCurve2D.Double(350, 200, 400, 250, 450, 200);g2.setColor(Color.MAGENTA);g2.draw(quad);// 7. 三次贝塞尔曲线CubicCurve2D cubic = new CubicCurve2D.Double(50, 350, 100, 400, 150, 300, 200, 350);g2.setColor(Color.CYAN);g2.draw(cubic);// 8. 多边形int[] xPoints = {250, 300, 350, 320, 280};int[] yPoints = {350, 300, 350, 400, 400};Polygon polygon = new Polygon(xPoints, yPoints, 5);g2.setColor(Color.DARK_GRAY);g2.fill(polygon);}public static void main(String[] args) {JFrame frame = new JFrame("Shape Demo");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.add(new ShapeDemo());frame.setSize(550, 500);frame.setVisible(true);}
    }

http://www.dtcms.com/a/546966.html

相关文章:

  • 天津网站开发上海商城网站建设
  • wordpress分页 标题网站优化标准
  • C 标准库 - <math.h>
  • 什么网站可以免费做试卷江油网站建设
  • 推广学校网站怎么做wordpress添加多语言
  • 公司注册好了怎么做网站南浔区城乡建设局网站
  • 【前端】时间相关知识点汇总
  • 建设工程消防设计备案网站网站建设公司如何做大
  • wordpress h1美化东莞公司网站做优化
  • 做写字楼用哪个网站更好WordPress 有趣插件
  • 网站后台是怎么做的网站设计的资质叫什么
  • mooc 网站建设情况制作营销网站
  • 做游戏ppt下载网站有哪些内容网站开发维护需要哪些人
  • 缺少自动化工具会如何降低效率
  • 网站设计 注意深圳福田住房和建设局网站
  • 快速入门Vue3,插值、动态绑定和避坑技巧你都搞懂了吗?
  • 上海企业网站制作多少钱画册印刷价格
  • 微信朋友圈网站广告怎么做wordpress设计主题
  • 德尔普的网站建设的价格官方网站开发
  • SMB 攻击(Server Message Block Attack)是什么?
  • 江苏省建设厅网站官网网站建设公司电话销售
  • 网页上做ppt的网站深圳制作网站多少费用
  • 西安外贸网站开发阜沙网站建设
  • 晋中工商局网站开发区分局成都91获客营销中心
  • 建企业网站的步骤wordpress 黑糖
  • 淄博网站建设详细策划mvc网站开发实例
  • Ubuntu24.04 无法读取 U盘
  • 佛山市品牌网站建设公司wordpress lensnews
  • 阿里云的网站阿里云域名注册入口官网
  • Keepalived双机热备全解析