ID2D1Geometry 接口是 Win32 API Direct2D 中的基础几何图形接口,用于表示 2D 几何图形。这个接口是一系列用于操作和查询几何图形属性的方法的集合。以下是一些 ID2D1Geometry 接口的方法:

1. GetBounds:
    - 获取几何图形的边界框。
    HRESULT GetBounds(
        const D2D1_MATRIX_3X2_F* worldTransform,
        D2D1_RECT_F* bounds
    ) const;

2. GetWidenedBounds:
    - 获取几何图形的扩展边界。
    HRESULT GetWidenedBounds(
        FLOAT strokeWidth,
        ID2D1StrokeStyle* strokeStyle,
        const D2D1_MATRIX_3X2_F* worldTransform,
        FLOAT flattenTolerance,
        D2D1_RECT_F* bounds
    ) const;

3. StrokeContainsPoint:
    - 检查给定点是否位于几何图形的轮廓内。
    HRESULT StrokeContainsPoint(
        D2D1_POINT_2F point,
        FLOAT strokeWidth,
        ID2D1StrokeStyle* strokeStyle,
        const D2D1_MATRIX_3X2_F* worldTransform,
        FLOAT flattenTolerance,
        BOOL* contains
    ) const;

4. FillContainsPoint:
    - 检查给定点是否位于几何图形的填充区域内。
    HRESULT FillContainsPoint(
        D2D1_POINT_2F point,
        const D2D1_MATRIX_3X2_F* worldTransform,
        FLOAT flattenTolerance,
        BOOL* contains
    ) const;

5. CompareWithGeometry:
    - 比较当前几何图形与另一个几何图形的几何关系。
    HRESULT CompareWithGeometry(
        ID2D1Geometry* inputGeometry,
        const D2D1_MATRIX_3X2_F* inputGeometryTransform,
        FLOAT flattenTolerance,
        D2D1_GEOMETRY_RELATION* relation
    ) const;

6. Simplify:
    - 将几何图形简化为其近似表示。
    HRESULT Simplify(
        D2D1_GEOMETRY_SIMPLIFICATION_OPTION simplificationOption,
        const D2D1_MATRIX_3X2_F* worldTransform,
        FLOAT flattenTolerance,
        ID2D1SimplifiedGeometrySink* geometrySink
    ) const;

ID2D1Geometry 接口是所有 Direct2D 几何图形类型的基接口,包括简单图形(如椭圆、矩形、路径等)和复合图形。你可以使用这个接口的方法来查询和操作几何图形的各种属性,如边界框、几何关系、简化等。


转载请注明出处:http://www.zyzy.cn/article/detail/25262/Win32 API/D2d1.h/ID2D1Geometry