Image
ロゴ、装飾的な背景、タイル テクスチャなどのゲージ リソースからの画像を表示します。 source リソース名を使用して、スケーリング、トリミング、または繰り返し方法を使用可能なサイズに設定します。
例
function main() {
return (
<Image
source="badge.png"
contentMode="fit"
repeatMode="none"
width={80}
height={80}
/>
);
}
使い方
- source はバンドル内画像です。original は元の色を保ち、template の場合だけ color で着色します。repeatMode は画像のタイル化、contentMode は通常の拡縮です。
- 数値の寸法はポイントです。auto は内容を測り、fill は親が割り当てた空間を使います。先に親の寸法を決めてください。fill や長い文字列は固定サイズの親を拡張しません。
プロパティ
sourcestringメーターに同梱した画像のファイル名。SF Symbols 名ではありません。
""contentMode?"fit" | "fill" | "stretch"fit は全体表示、fill は領域を埋めて切り抜き、stretch は縦横を伸縮。
"fit"repeatMode?"none" | "repeat" | "repeatX" | "repeatY"元の画像サイズで敷き詰め。repeat は両軸、repeatX/repeatY は片軸、none は通常表示。
"none"renderingMode?"original" | "template"original は元の色、template は color で着色。
"original"color?PaintHDR 色を含む描画色。
HDR($env.foreground)contentAnimation?ContentAnimation内容変更時の効果。この View 対応の type を選び、duration/delay は秒で指定。
{type: "fade", duration: 0.25}共通プロパティ
width?number | "auto" | "fill"幅。ポイント指定、自動サイズ、親領域への拡張に対応します。
100height?number | "auto" | "fill"高さ。ポイント指定、自動サイズ、親領域への拡張に対応します。
80padding?numberコンテンツの内側余白(ポイント)。
0x?number見た目の移動量(ポイント)。x は右、y は下。レイアウトの占有領域は変わりません。
0y?number見た目の移動量(ポイント)。x は右、y は下。レイアウトの占有領域は変わりません。
0transform?ViewTransformレイアウトを変えず全体を変形。移動はポイント、回転・傾きは度、倍率 1 は等倍、基点は 0–1。
{rotation: 0}background?Paint背景の色またはグラデーション。clear は透明。
"clear"opacity?numberView 全体の不透明度。0 は透明、1 は不透明。
1cornerRadius?number角丸の半径(ポイント)。
0clipped?booleanView の境界からはみ出す描画を切り抜きます。
falseclip?"rectangle" | "ellipse"切り抜き形状は rectangle または ellipse。Material は false で無効化も可能。
"rectangle"mask?View | nullアルファマスク用の View。レイアウトに影響せず中央に配置されます。null でマスクを無効にします。
<Circle width="fill" height="fill" background="white"/>zIndex?number兄弟 View の重なり順。大きい値ほど手前。
0blur?numberぼかし半径(ポイント)。0 で無効。
4innerShadow?DrawingEffect効果の色、不透明度、ぼかし半径、x/y オフセット。距離はポイント。
{color: HDR("black"), opacity: 0.5, radius: 4, x: 0, y: 2}glow?DrawingEffect効果の色、不透明度、ぼかし半径、x/y オフセット。距離はポイント。
{color: HDR("cyan"), radius: 8, opacity: 0.8}shadowColor?Color外側の影の色。
HDR("black")shadowOpacity?number外側の影の不透明度 0–1。0 で非表示。
0shadowRadius?number外側の影のぼかし半径(ポイント)。
4shadowX?number影の移動量(ポイント)。x は右、y は下。
0shadowY?number影の移動量(ポイント)。x は右、y は下。
2animations?Animation[]プロパティ変更のアニメーション。duration/delay は秒、from/to は端点、repeat/autoreverse は反復、wrap は周期。
[{property: "opacity", duration: 0.25, curve: "easeInOut"}]key?string | number兄弟要素間で安定した識別子。
組み合わせ例
function main() {
return (
<HStack spacing={12}>
<Image source="badge.png" width={80} height={80} contentMode="fit" />
<Image
source="badge.png"
width={80}
height={80}
renderingMode="template"
color={$env.accent}
/>
</HStack>
);
}
アニメーション
widthheightpaddingxyopacitybackgroundcornerRadiusblurshadowColorshadowOpacityshadowRadiusshadowXshadowYcolortransform.translateXtransform.translateYtransform.scaleXtransform.scaleYtransform.rotationtransform.skewXtransform.skewYtransform.anchorXtransform.anchorY省略時の動作
表は実装で確認した省略時の動作です。プロパティ例は既定値ではありません。固定結果には明示指定し、環境に依存する寸法やテーマ色を定数と思わないでください。
| プロパティ | 省略時の動作 |
|---|---|
contentMode | "fit" |
repeatMode | "none" |
renderingMode | "original" |
color | HDR($env.foreground) |