コンテンツにスキップ

Image クラス

画像プロバイダーから読み込んだ画像を自身の領域へ描画します。

名前空間: FloatSoda.Widgets.Paint
アセンブリ: FloatSoda.dll

public record Image : StatefulWidget<Image>, IEquatable<Widget>, IEquatable<StatefulWidget<Image>>, IEquatable<Image>

object ← Widget ← StatefulWidget<Image> ← Image

IEquatable<Widget>, IEquatable<StatefulWidget<Image>>, IEquatable<Image>

StatefulWidget<Image>.CreateElement(), StatefulWidget<Image>.CreateState(), Widget.Key, Widget.CanUpdate(Widget, Widget), Widget.CreateElement(), Widget.GetHashCode(), object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()

読み込みが完了するまではLoadingBuilder、読み込みに失敗した場合はErrorBuilderが 返すウィジェットを代わりに表示します。指定しない場合は何も表示しません。 失敗してもアプリケーションは停止しません。 等しいProviderを使うImage同士は、読み込んだ画像を共有します。

収めた画像を自身の領域内へ配置する位置を取得します。

public Alignment Alignment { get; init; }

Alignment

読み込みに失敗したとき、画像の代わりに表示するウィジェットを構築する処理を取得します。

public Func<IBuildContext, Exception, Widget>? ErrorBuilder { get; init; }

Func<IBuildContext, Exception, Widget>?

第2引数は失敗の原因です。

画像を自身の領域へ収める方法を取得します。

public BoxFit Fit { get; init; }

BoxFit

既定はScaleDownで、縦横比を維持したまま領域内へ収めます。 領域より小さい画像は拡大せず、原寸のまま描画します。Flutter の Image に合わせています。 Coverのように画像の一部だけを使う場合は描画元の矩形を切り取るため、 どの値でも領域外へはみ出しません。

読み込みが完了するまで、画像の代わりに表示するウィジェットを構築する処理を取得します。

public Func<IBuildContext, ImageLoadingProgress?, Widget>? LoadingBuilder { get; init; }

Func<IBuildContext, ImageLoadingProgress?, Widget>?

第2引数は読み込みの進み具合です。現在はどのプロバイダーでも常にnullです (ImageLoadingProgressを参照)。

描画する画像を読み込むプロバイダーを取得します。

public required ImageProvider Provider { get; init; }

ImageProvider

このウィジェットに関連付ける新しい状態オブジェクトを生成します。

public override State<Image> CreateState()

State<Image>

Elementがツリーから恒久的に外れるまで保持する新しい状態オブジェクト。

RenderImage