※この翻訳ドキュメントはスクリプトによって出力・同期されています。内容が怪しそうな場合はGitHubにissueを追加したり英語の原文の確認をお願いします。

RectangleGeom クラス

このページではRectangleGeomクラスについて説明します。

クラス概要

RectangleGeomクラスはlext_xcenter_xright_xtop_ycenter_ybottom_ywidthheightといった四角の幾何学(座標やサイズなど)の各インターフェイスを持ちます。

基本的な使い方

多くのケースでは、apyscが内部でRectangleGeomクラスを初期化します。

例えば、get_boundsメソッドはRectangleGeomインスタンスを返却し、且つそのインスタンスに四角の幾何学のデータ(バウンディングボックス)を設定します。

import apysc as ap

stage: ap.Stage = ap.Stage(
    background_color=ap.Color("#333"),
    stage_width=300,
    stage_height=200,
    stage_elem_id="stage",
)
rectangle: ap.Rectangle = ap.Rectangle(
    x=50,
    y=50,
    width=200,
    height=75,
    fill_color=ap.Color("#0af"),
)
bounding_box: ap.RectangleGeom = rectangle.get_bounds()
text_1: ap.SvgText = ap.SvgText(
    text=(
        ap.String("Left x: ")
        + bounding_box.left_x.to_string()
        + ap.String(" width: ")
        + bounding_box.width.to_string()
    ),
    x=50,
    y=150,
    fill_color=ap.Color("#aaa"),
)
ap.save_overall_html(dest_dir_path="rectangle_geom_basic_usage/")

各属性の座標

以下の例では各属性の座標を表示しています:

import apysc as ap

stage: ap.Stage = ap.Stage(
    background_color=ap.Color("#333"),
    stage_width=600,
    stage_height=440,
    stage_elem_id="stage",
)
circle: ap.Circle = ap.Circle(
    x=250,
    y=220,
    radius=150,
    fill_color=ap.Color("#0af"),
)
bounding_box: ap.RectangleGeom = circle.get_bounds()

LINE_COLOR: ap.Color = ap.Color("#aaa")
box_rectangle: ap.Rectangle = ap.Rectangle(
    x=bounding_box.left_x,
    y=bounding_box.top_y,
    width=bounding_box.width,
    height=bounding_box.height,
    line_color=LINE_COLOR,
)

POINT_RADIUS: int = 10
fill_color: ap.Color = ap.Color("#fd63c3")
left_x_and_top_y_circle: ap.Circle = ap.Circle(
    x=bounding_box.left_x,
    y=bounding_box.top_y,
    radius=POINT_RADIUS,
    fill_color=fill_color,
)
left_x_and_top_y_text: ap.SvgText = ap.SvgText(
    text="left_x and top_y",
    x=bounding_box.left_x,
    y=bounding_box.top_y - 15,
    fill_color=fill_color,
)

fill_color = ap.Color("#ae59e3")
right_x_and_top_y_circle: ap.Circle = ap.Circle(
    x=bounding_box.right_x,
    y=bounding_box.top_y,
    radius=POINT_RADIUS,
    fill_color=fill_color,
)
right_x_and_top_y_text: ap.SvgText = ap.SvgText(
    text="right_x and top_y",
    x=bounding_box.right_x,
    y=bounding_box.top_y - 15,
    fill_color=fill_color,
)

fill_color = ap.Color("#726efa")
left_x_and_bottom_y_circle: ap.Circle = ap.Circle(
    x=bounding_box.left_x,
    y=bounding_box.bottom_y,
    radius=POINT_RADIUS,
    fill_color=fill_color,
)
left_x_and_bottom_y_text: ap.SvgText = ap.SvgText(
    text="left_x and bottom_y",
    x=bounding_box.left_x,
    y=bounding_box.bottom_y + 31,
    fill_color=fill_color,
)

fill_color = ap.Color("#6eaee6")
right_x_and_bottom_y_circle: ap.Circle = ap.Circle(
    x=bounding_box.right_x,
    y=bounding_box.bottom_y,
    radius=POINT_RADIUS,
    fill_color=fill_color,
)
right_x_and_bottom_y_text: ap.SvgText = ap.SvgText(
    text="right_x and bottom_y",
    x=bounding_box.right_x,
    y=bounding_box.bottom_y + 31,
    fill_color=fill_color,
)

fill_color = ap.Color("#ffffff")
center_x_and_center_y_circle: ap.Circle = ap.Circle(
    x=bounding_box.center_x,
    y=bounding_box.center_y,
    radius=POINT_RADIUS,
    fill_color=fill_color,
)
center_x_and_center_y_text: ap.SvgText = ap.SvgText(
    text="center_x and center_y",
    x=bounding_box.center_x + 25,
    y=bounding_box.center_y + 5,
    fill_color=fill_color,
)

ap.save_overall_html(dest_dir_path="rectangle_geom_each_attribute_point/")

RectangleGeom クラスのコンストラクタのAPI

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイスの構造] __init__(self, *, left_x: apysc._type.number.Number, center_x: apysc._type.number.Number, right_x: apysc._type.number.Number, top_y: apysc._type.number.Number, center_y: apysc._type.number.Number, bottom_y: apysc._type.number.Number, width: apysc._type.int.Int, height: apysc._type.int.Int)


[インターフェイス概要]

四角の幾何学情報を扱うためのクラスです。


[引数]

  • left_x: Number

    • 四角の左端のX座標。

  • center_x: Number

    • 四角の中央のX座標。

  • right_x: Number

    • 四角の右端のX座標。

  • top_y: Number

    • 四角の上端のY座標。

  • center_y: Number

    • 四角の中央のY座標。

  • bottom_y: Number

    • 四角の下端のY座標。

  • width: Int

    • 四角の幅。

  • height: Int

    • 四角の高さ。

RectangleGeom クラスの left_x 属性のAPI

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイス概要]

四角の左端のX座標を取得します。


[返却値]

  • left_x: Number

    • 四角の左端のX座標。

RectangleGeom クラスの center_x 属性のAPI

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイス概要]

四角の中央のX座標を取得します。


[返却値]

  • center_x: Number

    • 四角の中央のX座標。

RectangleGeom クラスの right_x 属性のAPI

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイス概要]

四角の右端のX座標を取得します。


[返却値]

  • right_x: Number

    • 四角の右端のX座標。

RectangleGeom クラスの top_y 属性のAPI

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイス概要]

四角の上端のY座標を取得します。


[返却値]

  • top_y: Number

    • 四角の上端のY座標。

RectangleGeom クラスの center_y 属性のAPI

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイス概要]

四角の中央のY座標を取得します。


[返却値]

  • center_y: Number

    • 四角の中央のY座標。

RectangleGeom クラスの bottom_y 属性のAPI

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイス概要]

四角の下端のY座標を取得します。


[返却値]

  • bottom_y: Number

    • 四角の下端のY座標。

RectangleGeom クラスの width 属性のAPI

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイス概要]

四角の幅の値を取得します。


[返却値]

  • width: Int

    • 四角の幅の値。

RectangleGeom の height 属性のAPI

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイス概要]

四角の高さの値を取得します。


[返却値]

  • height: Int

    • 四角の高さの値。

get_bounds メソッドのAPI

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイスの構造] get_bounds(self, target_coordinate_space_object: Union[apysc._display.display_object.DisplayObject, NoneType] = None) -> apysc._geom.rectangle_geom.RectangleGeom


[インターフェイス概要]

インスタンスのバウンディングボックスの幾何データを取得します。


[引数]

  • target_coordinate_space_object: DisplayObject or None, default None

    • 座標の基準となるオブジェクト。もしNoneが指定された場合、このメソッドはステージを基準としたバウンディングボックスのデータを返却します。もしDisplayObjectのインスタンスが指定された場合、ごのメソッドは指定されたオブジェクトの座標を基準としたバウンディングボックスのデータを返却します。


[返却値]

  • bounding_box: RectangleGeom

    • インスタンスのバウンディングボックスの幾何データ。


[コードサンプル]

>>> import apysc as ap
>>> stage: ap.Stage = ap.Stage(
...     background_color=ap.Color("#333"), stage_width=250, stage_height=350
... )
>>> rectangle: ap.Rectangle = ap.Rectangle(
...     x=50,
...     y=100,
...     width=150,
...     height=200,
...     fill_color=ap.Color("#0af"),
... )
>>> bounding_box: ap.RectangleGeom = rectangle.get_bounds()

[関連資料]