Nuke

 
 

Open Source Swift-bibliotheek voor beeldbewerking en -verwerking

Gratis Swift API waarmee u de afbeeldingspijplijn kunt aanpassen, de grootte van afbeeldingen kunt wijzigen, een aangepaste processor kunt gebruiken, afbeeldingshoeken kunt afronden, afbeeldingen kunt downloaden en contant kunt maken, enzovoort.

Nuke is een zeer nuttig open source Swift-framework waarmee softwareontwikkelaars eenvoudig afbeeldingen in hun eigen Swift-applicaties kunnen laden en weergeven. Er is slechts één regel code nodig om afbeeldingen in uw apps te downloaden en weer te geven. De bibliotheek heeft ook ondersteuning voor verschillende geavanceerde functies, zoals het voorverwarmen van afbeeldingen en progressieve decodering, die de prestaties van de app en de gebruikerservaring drastisch kunnen verbeteren.

Nuke API is zeer eenvoudig te gebruiken en heeft een zeer geavanceerde architectuur die softwareontwikkelaars in staat stelt om vrijwel onbeperkte mogelijkheden voor beeldverwerking en maatwerk te bedenken. Het heeft ingebouwde ondersteuning voor standaard afbeeldingsformaten zoals JPEG, PNG, HEIF en nog veel meer. Het ondersteunt ook het coderen en decoderen van afbeeldingen met Swift-code.

De bibliotheek is zeer rijk aan functies en bevat verschillende belangrijke functies voor het verwerken van hun afbeeldingen met Swift-opdrachten, zoals afbeeldingen laden, afbeeldingspijplijn aanpassen, het formaat van afbeeldingen wijzigen, filters toepassen zoals Gaussiaanse vervaging, een aangepaste processor gebruiken, ronde afbeeldingshoeken, LRU-geheugen Cache, HTTP-schijfcache, agressieve LRU-schijfcache, afbeeldingen opnieuw laden, beeldanimatie, slimme achtergronddecompressie, hervatten van downloads, prioriteitsstelling aanvragen, modus voor weinig gegevens en nog veel meer.

Previous Next

Aan de slag met Nuke 

De aanbevolen manier om Nuke te installeren is het gebruik van CocoaPods. Voeg de volgende regels toe aan je Podfile:

Installeer Nuke via CocoaPods.

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

Kloon de nieuwste bronnen met behulp van de volgende opdracht.

Installeer Nuke via GitHub.

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

Afbeeldingen downloaden en gebruiken met Swift

De open source Nuke API biedt een overzichtelijke en effectieve manier voor het downloaden en gebruiken van afbeeldingen in uw Swift-apps. Om de afbeeldingen op te halen, moet u de URL van de vereiste afbeelding doorgeven en vervolgens de CV-methode aanroepen. Het downloadt de gevraagde afbeelding op de achtergrond en informeert de sluiting van het antwoord wanneer het klaar is.

Quality over Quantity (QoQ) Releases Vertaling:

// 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"))
    }
} 

Vertaling:

Bevordering is een zeer nuttig kenmerk dat gebruikers in staat stelt om het beeld te downloaden of andere data voor de tijd in verwachting van zijn gebruik. De apps kunnen het downloaden en opslaan in de applicatie netwerk cache. Later als je het beeld van je verzoek moet bekijken, komt het terug van de kassa in plaats van het netwerk. De open bron API Nuke heeft ondersteuning voor een opwindend stuk bekend als Prefetching beelden met Swift code. Onthoud dat Prefetching de gegevens van gebruikers kan innemen en extra druk kan zetten op de CPU als herinnering. Om deze druk te verminderen, kan je alleen de disk cache kiezen als de voorbedachte rade.

Quality over Quantity (QoQ) Releases Vertaling:

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)
    }
} 

Laad en verzilver afbeeldingen via Swift

Image caching is een zeer nuttige methode die de applicatieprestaties en de eindgebruikerservaring verbetert. Met de open source Nuke API kunnen software-apps de gedownloade afbeeldingen automatisch in de cache plaatsen. Nuke vertrouwt op twee ingebouwde caching-lagen. De eerste wordt gebruikt om de verwerkte afbeelding op te slaan, die klaar is voor weergave. Het maakt gebruik van het LRU-algoritme - de minst recent gebruikte items worden als eerste verwijderd tijdens de sweep. De 2e gebruikt HTTP Disk Cache om de onverwerkte afbeeldingsgegevens op te slaan. Het is ook mogelijk om het bestaan van de gevraagde afbeelding in de cache te controleren.

Read/Write Images in Memory of Disk Cache via 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() 
 Dutch