Nuke

 
 

Библиотека Swift с отворен код за редактиране и обработка на изображения

Безплатен Swift API, който позволява да персонализирате конвейера на изображенията, да преоразмерявате изображения, да използвате персонализиран процесор, да закръгляте ъглите на изображенията, да изтегляте и да осребрявате изображения и т.н.

Nuke е много полезна Swift рамка с отворен код, която позволява на разработчиците на софтуер лесно да зареждат и показват изображения в техните собствени Swift приложения. Изисква само един ред код за изтегляне и показване на изображения във вашите приложения. Библиотеката също така включва поддръжка за няколко разширени функции, като предварително загряване на изображението и прогресивно декодиране, които могат драматично да подобрят производителността на приложението, както и потребителското изживяване.

Nuke API е много лесен за използване и има много напреднала архитектура, която позволява на разработчиците на софтуер да мислят за практически неограничени възможности за обработка и персонализиране на изображения. Той включва вградена поддръжка за основни формати на изображения като JPEG, PNG, HEIF и много други. Той също така поддържа кодиране и декодиране на изображения с помощта на Swift код.

Библиотеката е много богата на функции и включва няколко важни функции за обработка на техните изображения с помощта на Swift команди, като например зареждане на изображения, персонализиране на конвейера на изображения, преоразмеряване на изображения, прилагане на филтри като Gaussian blur, използване на персонализиран процесор, заоблени ъгли на изображението, LRU памет Кеш, HTTP дисков кеш, агресивен LRU дисков кеш, презареждане на изображения, анимация на изображението, интелигентна декомпресия на фона, възобновяване на изтегляния, приоритизиране на заявки, режим с ниски данни и много други.

Previous Next

Първи стъпки с Nuke 

Препоръчителният начин за инсталиране на Nuke е използването на CocoaPods. Моля, добавете следните редове към вашия Podfile

Инсталирайте Nuke чрез CocoaPods.

pod "Nuke"
pod "Nuke-Alamofire-Plugin" # optional
pod "Nuke-AnimatedImage-Plugin" # optional

Клонирайте най-новите източници, като използвате следната команда.

Инсталирайте Nuke чрез GitHub.

$ git https://github.com/kean/Nuke.git 

Изтеглете и използвайте изображения с помощта на Swift

Nuke API с отворен код предоставя добре организиран и ефективен начин за изтегляне и използване на изображения във вашите Swift приложения. За да извлечете изображенията, трябва да подадете URL адреса на необходимото изображение и след това да извикате метода за възобновяване. Той ще изтегли исканото изображение във фонов режим и ще информира отговора за затваряне, когато приключи.

Преглед на изображения по различни начини в приложения за суифт

// Load images directly using Async/Await
func loadImage() async throws {
    let response = try await pipeline.image(for: url, delegate: self)
}
// Use UI components provided by NukeUI mode
struct ContainerView: View {
    var body: some View {
        LazyImage(url: URL(string: "https://example.com/image.jpeg"))
    }
} 

Префектна снимка с Swift API

Prefetling е много полезна функция, която позволява на потребителите да изтеглят изображението или други данни предварително в очакване на използването му. Приложенията могат да го изтеглят и съхраняват в мрежовия кеш на приложението. По-късно, когато трябва да видите изображението, отговорът на вашата заявка ще се върне от кеш вместо от мрежата. Отвореният източник API Nuke включва поддръжка на вълнуваща функция, известна като Prefetling изображения, използвайки Swift код. Моля, не забравяйте, че Prefetling може да поеме данните на потребителите и да окаже допълнителен натиск върху процесора, както и върху паметта. За да намалите това налягане, можете да изберете само кеш на диска като предпочитана дестинация.

Префект Cache GitHub с помощта на Swift API

inal class PrefetchingDemoViewController: UICollectionViewController {
    private let prefetcher = ImagePrefetcher()
    private var photos: [URL] = []
    override func viewDidLoad() {
        super.viewDidLoad()
        collectionView?.isPrefetchingEnabled = true
        collectionView?.prefetchDataSource = self
    }
}
extension PrefetchingDemoViewController: UICollectionViewDataSourcePrefetching {
    func collectionView(_ collectionView: UICollectionView, prefetchItemsAt indexPaths: [IndexPath]) {
        let urls = indexPaths.map { photos[$0.row] }
        prefetcher.startPrefetching(with: urls)
    }
    func collectionView(_ collectionView: UICollectionView, cancelPrefetchingForItemsAt indexPaths: [IndexPath]) {
        let urls = indexPaths.map { photos[$0.row] }
        prefetcher.stopPrefetching(with: urls)
    }
} 

Заредете и осребрете изображения чрез Swift

Кеширането на изображения е много полезен метод, който подобрява производителността на приложението и изживяването на крайния потребител. Nuke API с отворен код позволява на софтуерните приложения автоматично да кешират изтеглените изображения. Nuke разчита на два вградени слоя за кеширане. Първият се използва за съхраняване на обработеното изображение, което е готово за показване. Той използва алгоритъма LRU – най-малко използваните записи се премахват първи по време на почистването. Вториятnd използва HTTP дисков кеш за съхраняване на необработени данни за изображения. Също така е възможно да проверите съществуването на исканото изображение в кеша.

Read/Write изображения в памет или дисков кеш чрез Swift API

let cache = pipeline.cache
let request = ImageRequest(url: URL(string: "https://example.com/image.jpeg")!)
cache.cachedImage(for: request) // From any cache layer
cache.cachedImage(for: request, caches: [.memory]) // Only memory
cache.cachedImage(for: request, caches: [.disk]) // Only disk (decodes data)
let data = cache.cachedData(for: request)
cache.containsData(for: request) // Fast contains check 
// Stores image in the memory cache and stores an encoded
// image in the disk cache
cache.storeCachedImage(ImageContainer(image: image), for: request)
cache.removeCachedImage(for: request)
cache.removeAll() 
 Български