首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# System.Drawing.RectangleF 到 Java 的對應轉換:使用 Rectangle2D.Float

     編輯:程式設計綜合問答

C# 原始代碼

RectangleF rf = new RectangleF(
    new PointF(p0.X - width, p0.Y - width),
    new SizeF(width * 2, width * 2));

Java 對應實現

import java.awt.geom.Rectangle2D;
import java.awt.geom.Point2D;

// 直接構造
Rectangle2D.Float rect = new Rectangle2D.Float(
    (float)(p0.x - width),
    (float)(p0.y - width),
    (float)(width * 2),
    (float)(width * 2)
);

// 或分步
Point2D.Float location = new Point2D.Float((float)(p0.x - width), (float)(p0.y - width));
java.awt.geom.Dimension2D size = new java.awt.geom.Dimension2D() {
    public double getWidth()  { return width * 2; }
    public double getHeight() { return width * 2; }
};
Rectangle2D.Float rect2 = new Rectangle2D.Float(
    (float)location.getX(), (float)location.getY(),
    (float)size.getWidth(), (float)size.getHeight()
);

類對應表

C# (System.Drawing)Java (java.awt.geom)
PointFPoint2D.Float
SizeFDimension2D (介面) / 自定義實現
RectangleFRectangle2D.Float
RectangleRectangle (整數版)

注意事項

  • Java 2D 使用 float 單精度,C# float 同,精度一致
  • Rectangle2D 為抽象基類,Rectangle2D.Float / .Double 為具體實現
  • 若需整數矩形,用 java.awt.Rectangle (x, y, w, h 均為 int)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved