RenderImage クラス
画像を自身の領域へFitに従って収めて描画する、子を持たないRenderObjectです。
名前空間: FloatSoda.RenderObjects.Painting
アセンブリ: FloatSoda.dll
public class RenderImage : RenderBox, IHitTestTargetobject ← RenderObject ← RenderBox ← RenderImage
実装するインターフェイス
Section titled “実装するインターフェイス”継承したメンバー
Section titled “継承したメンバー”RenderBox.Size, RenderBox.GetMinIntrinsicWidth(double), RenderBox.GetMaxIntrinsicWidth(double), RenderBox.GetMinIntrinsicHeight(double), RenderBox.GetMaxIntrinsicHeight(double), RenderBox.ComputeMinIntrinsicWidth(double), RenderBox.ComputeMaxIntrinsicWidth(double), RenderBox.ComputeMinIntrinsicHeight(double), RenderBox.ComputeMaxIntrinsicHeight(double), RenderBox.HitTest(HitTestResult, Offset), RenderBox.HitTestChildren(HitTestResult, Offset), RenderBox.HitTestSelf(Offset), RenderBox.HandleEvent(PointerEvent, HitTestEntry), RenderObject.Constraints, RenderObject.ParentData, RenderObject.Parent, RenderObject.Owner, RenderObject.Layer, RenderObject.Size, RenderObject.NeedsPaint, RenderObject.NeedsLayout, RenderObject.Depth, RenderObject.IsRepaintBoundary, RenderObject.Attached, RenderObject.RelayoutBoundary, RenderObject.SizedByParent, RenderObject.PerformLayout(), RenderObject.Layout(BoxConstraints, bool), RenderObject.LayoutWithoutResize(), RenderObject.CleanChildRelayoutBoundary(), RenderObject.MarkNeedsLayout(), RenderObject.MarkParentNeedsLayout(), RenderObject.Attach(RenderPipeline?), RenderObject.AdoptChild(RenderObject), RenderObject.RedepthChild(RenderObject), RenderObject.RedepthChildren(), RenderObject.VisitChildren(Action<RenderObject>), RenderObject.SetupParentData(RenderObject), RenderObject.Paint(PaintingContext, Offset), RenderObject.MarkNeedsPaint(), RenderObject.Detach(), RenderObject.DropChild(RenderObject), RenderObject.HandleEvent(PointerEvent, HitTestEntry), object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()
Coverのように画像の一部だけを使うFitでは、描画元の矩形を
切り取って描画します。どのFitでも描画先は自身の領域内に収まるため、
領域外へはみ出すことはありません。
FittedBoxがClipBehaviorを必要とするのは、
描画元を切り取れない子ウィジェットを拡大縮小するためで、この型では不要です。
制約が許す範囲で、画像の原寸を自身のサイズにします。
Alignment
Section titled “Alignment”収めた画像を自身の領域内へ配置する位置を取得または設定します。
public Alignment Alignment { get; set; }プロパティの値
Section titled “プロパティの値”レイアウト結果は変えません。変更すると再描画のみを要求します。
いずれかの成分が有限値ではありません。
画像を自身の領域へ収める方法を取得または設定します。
public BoxFit Fit { get; set; }プロパティの値
Section titled “プロパティの値”レイアウト結果は変えません。変更すると再描画のみを要求します。
定義されていない値です。
描画する画像を取得します。
public required SKImage Image { get; set; }プロパティの値
Section titled “プロパティの値”ComputeMaxIntrinsicHeight(double)
Section titled “ComputeMaxIntrinsicHeight(double)”派生型固有の最大intrinsic高さを計算します。
protected override double ComputeMaxIntrinsicHeight(double width)パラメーター
Section titled “パラメーター”width double
ComputeMaxIntrinsicWidth(double)
Section titled “ComputeMaxIntrinsicWidth(double)”派生型固有の最大intrinsic幅を計算します。
protected override double ComputeMaxIntrinsicWidth(double height)パラメーター
Section titled “パラメーター”height double
ComputeMinIntrinsicHeight(double)
Section titled “ComputeMinIntrinsicHeight(double)”派生型固有の最小intrinsic高さを計算します。
protected override double ComputeMinIntrinsicHeight(double width)パラメーター
Section titled “パラメーター”width double
ComputeMinIntrinsicWidth(double)
Section titled “ComputeMinIntrinsicWidth(double)”派生型固有の最小intrinsic幅を計算します。
protected override double ComputeMinIntrinsicWidth(double height)パラメーター
Section titled “パラメーター”height double
HitTestSelf(Offset)
Section titled “HitTestSelf(Offset)”指定したローカル座標で自身がヒットするかを判定します。
public override bool HitTestSelf(Offset position)パラメーター
Section titled “パラメーター”position Offset
このRenderBoxのローカル座標系における判定位置。
自身がヒット対象の場合はtrue、それ以外の場合はfalseです。
自身の領域内なら常にヒットします。Flutter の RenderImage に合わせています。
Paint(PaintingContext, Offset)
Section titled “Paint(PaintingContext, Offset)”指定した位置を原点として、このRenderObjectを描画コンテキストへ記録します。
public override void Paint(PaintingContext context, Offset offset)パラメーター
Section titled “パラメーター”context PaintingContext
描画命令と合成レイヤーを記録するコンテキスト。
offset Offset
親の座標系における描画原点。
PerformLayout()
Section titled “PerformLayout()”現在のConstraintsに従って自身と必要な子をレイアウトします。
public override void PerformLayout()派生型は処理の完了前にSizeを確定します。