Loading

SwiftUI Image 图片处理

代码片段

//
//  ContentView.swift
//  SwiftUIImage
//
//  Created by CHEN Hao on 2024/5/6.
//

import SwiftUI

struct ContentView: View {
    var body: some View {
        Image("paris")
            .resizable() // 延伸模式,平铺整个屏幕
        
            // 不保持长宽比
            // .ignoresSafeArea() // 忽略安全区域&排除忽略的安全区域(.container, edges: .bottom)
        
            // 保持长宽比
            // .scaledToFit()
            // 同上
            .aspectRatio(contentMode: .fit)
            // .frame(width: 300)
            // .clipped() // 剪裁图片,基于frame设定的宽度
            // .clipShape(Circle()) // 剪裁成形状
            // .opacity(0.5) // 透明度
        
            // 重叠
//            .overlay(
//                Image(systemName: "heart.fill")
//                    .font(.system(size: 50))
//                    .foregroundStyle(.black)
//                    .opacity(0.5)
//            )
        
//            .overlay(
//                    Text("If you are lucky enough to have lived in Paris as a young man, then wherever you go for the rest of your life it stays with you, for Paris is a moveable feast.\n\n- Ernest Hemingway")
//                        .fontWeight(.heavy)
//                        .font(.system(.headline, design: .rounded))
//                        .foregroundStyle(.white)
//                        .padding()
//                        .background(Color.black) // 背景颜色
//                        .cornerRadius(10) // 圆角
//                        .opacity(0.8)
//                        .padding(),
//                    
//                    alignment: .top // 覆盖位置对齐
//
//            )
        
//            .overlay(
//                Rectangle()
//                    .foregroundStyle(.black)
//                    .opacity(0.4)
//            )
            // 同上
            .overlay(
                Color.black
                    .opacity(0.4)
                    .overlay(
                        Text("Paris")
                            .fontWeight(.black)
                            .font(.largeTitle)
                            .foregroundStyle(.white)
                            .frame(width: 200)
                    )
            )
            
    }
}

#Preview {
    ContentView()
}

效果

posted @ 2024-05-06 21:06  ThankCAT  阅读(24)  评论(0编辑  收藏  举报