🌅

【SwiftUI】Imageのコントラストなどを調整する

2023/04/12に公開

概要

Imageでコントラストなどを調整する方法を紹介します。
調整後のbefore/afterでは以下のような変化が見られます。

上が無加工で下が加工したImage

環境

この記事は以下のバージョン環境のもと作成されたものです。
【Xcode】14.3
【iOS】16.4
【macOS】Ventuta

ドキュメント

Transforming colorsのセクションに様々なmodifierがあります。
以下ドキュメントとリストです。
https://developer.apple.com/documentation/swiftui/view/brightness(_:)

タイトル 詳細
brightness 輝度の調整ができる
contrast コントラストの調整ができる
colorInvert 色を反転させる
colorMultiply 色の乗算的に加えることができる
saturation 彩度の調整ができる
grayscale グレースケールにする
hueRotation 色相回転効果を定期要することができる
luminanceToAlpha アルファ効果に輝度を加える

サンプルコード

使用方法はImageに使用したいmodifierを追加するだけです。

ImageView()
    .brightness(0.5)
    .contrast(2)
    .colorInvert()
    .colorMultiply(.green)
    .saturation(1)
    .grayscale(0.5)
    .hueRotation(.zero)
    .luminanceToAlpha()

ImageViewの中身は以下のです。

struct ImageView: View {
    var body: some View {
        Image("image")
            .resizable()
            .scaledToFill()
            .frame(height: 300)
            .clipShape(Rectangle())
    }
}

※Imageのリサイズについては以下の記事参考にしてください。
https://tech.nri-net.com/entry/changing_image_size_by_sqiftui

まとめ

以上SwiftUIでImageのコントラストなどを調整するでした。

Discussion