SwiftyCrop:SwiftUI应用中的图片裁剪工具





项目名称:SwiftyCrop

项目概述

SwiftyCrop是一个开源的SwiftUI库,它允许用户在SwiftUI应用中无缝裁剪图片。该库提供了一个用户友好的界面,使得裁剪图片变得简单直观。用户可以轻松调整裁剪区域、保持纵横比、放大缩小以精确裁剪,并且可以指定裁剪遮罩为正方形或圆形。

功能特点

  • 多语言支持:支持包括英语、德语、法语、意大利语、俄语、西班牙语、土耳其语、乌克兰语、匈牙利语、巴西葡萄牙语和韩语在内的多种语言。

  • 自定义裁剪遮罩:支持正方形和圆形裁剪遮罩,用户可以根据需要选择。

  • 裁剪配置:可以通过SwiftyCropConfiguration自定义裁剪行为,包括最大放大比例、裁剪遮罩半径、是否旋转图片等。

  • 裁剪结果:裁剪后的图片默认为方形,但如果使用圆形遮罩,可以通过配置使结果图片也为圆形。

使用方法

以下是如何在SwiftUI中使用SwiftyCrop的示例:

import SwiftUI
import SwiftyCrop

struct ExampleView: View {
    @State private var showImageCropper: Bool = false
    @State private var selectedImage: UIImage?

    var body: some View {
        VStack {
            Button("Crop downloaded image") {
                Task {
                    selectedImage = await downloadExampleImage()
                    showImageCropper.toggle()
                }
            }
        }
        .fullScreenCover(isPresented: $showImageCropper) {
            if let selectedImage = selectedImage {
                SwiftyCropView(
                    imageToCrop: selectedImage,
                    maskShape: .square
                ) { croppedImage in
                    // Do something with the returned, cropped image
                }
            }
        }
    }

    private func downloadExampleImage() async -> UIImage? {
        let urlString = "https://picsum.photos/1000/1200"
        guard let url = URL(string: urlString),
              let (data, _) = try? await URLSession.shared.data(from: url),
              let image = UIImage(data: data)
        else { return nil }

        return image
    }
}

安装方法

SwiftyCrop可以通过Swift Package Manager安装,也可以手动集成到项目中。

  • Swift Package Manager:在Xcode中,选择File > Swift Packages > Add Package Dependency...,然后输入https://github.com/benedom/SwiftyCrop

  • 手动安装:将Sources/SwiftyCrop文件夹拖入Xcode项目中,并确保勾选Copy items if neededCreate groups

或许喜欢

SwiftBus:Swift编写的轻量级事件总线库,支持Combine

SwiftBus是一个用Swift编写的轻量级事件总线库,由Combine提供支持,允许在Swift应用中发送和接收自定义事件,支持异步处理和跨线程事件接收。

最近更新 2024-12-15

Networking:轻量级Swift网络库,支持请求伪造和图片缓存

Networking是一个轻量级的Swift网络库,提供友好的API,支持请求伪造和图片缓存,无外部依赖,易于集成和使用.

最近更新 2025-01-07

Uray - 具有Hero动画的时尚电子商务iOS应用UI

Uray是一个使用SwiftUI 3.0开发的时尚电子商务iOS应用UI,特色是Hero动画和复杂的SwiftUI界面设计,提供丰富的动画和自定义UI组件。

最近更新 2024-12-09

热榜

Made with in Shangrao,China By 老雷

Copyright © devler.cn 1987 - Present

赣ICP备19009883号-1