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

Graphics クラスの begin_fill インターフェイス

このページではGraphicsクラスのbegin_fillメソッドのインターフェイスについて説明します。

インターフェイス概要

begin_fillインターフェイスは塗りの色と塗りの透明度を設定します。この設定は再度begin_fillのインターフェイスを呼び出すか、もしくはclearメソッドを呼ぶまで保持されます。

基本的な使い方

ベクターグラフィックスの描画系の各インターフェイス(例 : draw_rectなど)はグラフィックス生成時にこの塗りの設定を参照します。そのため描画系のインターフェイスを実行する前にこのbegin_fillのインターフェイスを呼び出しておく必要があります。

import apysc as ap

ap.Stage(
    background_color=ap.Color("#333"),
    stage_width=350,
    stage_height=150,
    stage_elem_id="stage",
)
sprite: ap.Sprite = ap.Sprite()

# Set blue fill color and draw the first rectangle.
sprite.graphics.begin_fill(color=ap.Color("#0af"))
sprite.graphics.draw_rect(x=50, y=50, width=50, height=50)

# Draw the second rectangle (fill color setting will be maintained).
sprite.graphics.draw_rect(x=150, y=50, width=50, height=50)

# Set the other fill color and draw the third rectangle.
sprite.graphics.begin_fill(color=ap.Color("#f0a"))
sprite.graphics.draw_rect(x=250, y=50, width=50, height=50)

ap.save_overall_html(dest_dir_path="graphics_begin_fill_basic_usage/")

塗りの色の設定

color引数は塗りの色を設定します。begin_fillインターフェイスではこの引数は必須になっています。

import apysc as ap

ap.Stage(
    background_color=ap.Color("#333"),
    stage_width=150,
    stage_height=150,
    stage_elem_id="stage",
)
sprite: ap.Sprite = ap.Sprite()

# Set a cyan fill color and draw the rectangle.
sprite.graphics.begin_fill(color=ap.Color("#0af"))
sprite.graphics.draw_rect(x=50, y=50, width=50, height=50)

ap.save_overall_html(dest_dir_path="graphics_begin_fill_fill_color/")

もしも塗りの色の設定を削除したい場合、COLORLESS定数をこの引数に指定してください。

以下のコード例では塗りの色の設定を削除しているため、四角のグラフィックは見えなくなります。

import apysc as ap

ap.Stage(
    background_color=ap.Color("#333"),
    stage_width=150,
    stage_height=150,
    stage_elem_id="stage",
)
sprite: ap.Sprite = ap.Sprite()

sprite.graphics.begin_fill(color=ap.Color("#0af"))

# Clear fill color by specifying the `COLORLESS`` constant.
sprite.graphics.begin_fill(color=ap.COLORLESS)

# Since fill color is not set, the rectangle is invisible.
sprite.graphics.draw_rect(x=50, y=50, width=50, height=50)

ap.save_overall_html(dest_dir_path="graphics_begin_fill_color_setting_clear/")

以下のようなカラーコードが受け付けられます:

  • #00aaffなどの6文字による指定。

  • #0afなどの3文字による指定(これは#00aaffと同じ値として扱われます)。

  • #5などの1文字による指定(これは000005と同じ値として扱われます)。

  • 0afなどの#記号を省略した指定(これは#00aaffと同じ値として扱われます)。

  • COLORLESS定数(この指定は塗りの色の設定を削除します)。

import apysc as ap

ap.Stage(
    background_color=ap.Color("#333"),
    stage_width=450,
    stage_height=150,
    stage_elem_id="stage",
)
sprite: ap.Sprite = ap.Sprite()

# Six characters fill color setting (a cyan color).
sprite.graphics.begin_fill(color=ap.Color("#00aaff"))
sprite.graphics.draw_rect(x=50, y=50, width=50, height=50)

# Three characters fill color setting (a magenta color).
sprite.graphics.begin_fill(color=ap.Color("#f0a"))
sprite.graphics.draw_rect(x=150, y=50, width=50, height=50)

# Single characters fill color setting (a black color).
sprite.graphics.begin_fill(color=ap.Color("#0"))
sprite.graphics.draw_rect(x=250, y=50, width=50, height=50)

# Fill color that a skipped `#` symbol is also acceptable.
sprite.graphics.begin_fill(color=ap.Color("999"))
sprite.graphics.draw_rect(x=350, y=50, width=50, height=50)

ap.save_overall_html(dest_dir_path="graphics_begin_fill_acceptable_color_settings/")

塗りの色の透明度の設定

塗りの透明度はalpha引数で設定できます。0.0(透明)~1.0(不透明)の範囲の値を受け付けます。

import apysc as ap

ap.Stage(
    background_color=ap.Color("#333"),
    stage_width=200,
    stage_height=200,
    stage_elem_id="stage",
)
sprite: ap.Sprite = ap.Sprite()

sprite.graphics.begin_fill(color=ap.Color("#00aaff"), alpha=0.2)
sprite.graphics.draw_rect(x=50, y=75, width=50, height=50)
sprite.graphics.draw_rect(x=75, y=50, width=50, height=50)
sprite.graphics.draw_rect(x=75, y=75, width=50, height=50)
sprite.graphics.draw_rect(x=75, y=100, width=50, height=50)
sprite.graphics.draw_rect(x=100, y=75, width=50, height=50)

ap.save_overall_html(dest_dir_path="graphics_begin_fill_alpha_setting/")

begin_fill API

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

[インターフェイスの構造] begin_fill(self, *, color: apysc._color.color.Color, alpha: Union[float, apysc._type.number.Number] = 1.0) -> None


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

塗りのための単一の色の設定を行います。


[引数]

  • color: Color

    • 色の設定。

  • alpha: float or Number, default 1.0

    • 塗りの透明度(0.0~1.0)。


[コードサンプル]

>>> import apysc as ap
>>> _ = ap.Stage(
...     stage_width=150,
...     stage_height=150,
...     background_color=ap.Color("#333"),
...     stage_elem_id="stage",
... )
>>> sprite: ap.Sprite = ap.Sprite()
>>> sprite.graphics.begin_fill(
...     color=ap.Color("#0af"),
...     alpha=0.5,
... )
>>> rectangle: ap.Rectangle = sprite.graphics.draw_rect(
...     x=50, y=50, width=50, height=50
... )
>>> rectangle.fill_color
Color("#00aaff")

>>> rectangle.fill_alpha
Number(0.5)

fill_color 属性のAPI

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

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

現在の塗りの色を取得します。


[返却値]

  • fill_color: Color

    • 現在の塗りの色。もしも設定されていない場合COLORLESS定数の値が返却されます。


[コードサンプル]

>>> import apysc as ap
>>> _ = ap.Stage(
...     stage_width=150,
...     stage_height=150,
...     background_color=ap.Color("#333"),
...     stage_elem_id="stage",
... )
>>> sprite: ap.Sprite = ap.Sprite()
>>> sprite.graphics.begin_fill(
...     color=ap.Color("#0af"),
...     alpha=0.5,
... )
>>> sprite.graphics.fill_color
Color("#00aaff")

fill_alpha 属性のAPI

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

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

現在の塗りの透明度を取得します。


[返却値]

  • fill_alpha: Number

    • 現在の塗りの透明度(0.0~1.0)。もし設定されていない場合1.0の値が返却されます。


[コードサンプル]

>>> import apysc as ap
>>> stage: ap.Stage = ap.Stage()
>>> sprite: ap.Sprite = ap.Sprite()
>>> sprite.graphics.begin_fill(color=ap.Color("#0af"), alpha=0.5)
>>> rectangle: ap.Rectangle = sprite.graphics.draw_rect(
...     x=50, y=50, width=50, height=50
... )
>>> rectangle.fill_alpha
Number(0.5)