1. Termékek
  2.   Kép
  3.   Swift
  4.   Nuke

Nuke

 
 

Nyílt forráskódú Swift Library képszerkesztéshez és -feldolgozáshoz

Ingyenes Swift API, amely lehetővé teszi a képcsatornák testreszabását, a képek átméretezését, az egyéni processzor használatát, a képsarkok lekerekítését, a képek letöltését és beváltását stb.

A Nuke egy nagyon hasznos, nyílt forráskódú Swift keretrendszer, amely lehetővé teszi a szoftverfejlesztők számára, hogy egyszerűen töltsenek be és jelenítsenek meg képeket saját Swift-alkalmazásaikon belül. Csak egy sor kódot igényel a képek letöltéséhez és megjelenítéséhez az alkalmazásokban. A könyvtár számos fejlett funkció támogatását is tartalmazza, például a kép előmelegítését és a progresszív dekódolást, amelyek drámaian javíthatják az alkalmazás teljesítményét és a felhasználói élményt.

A Nuke API nagyon könnyen használható, és nagyon fejlett architektúrájával rendelkezik, amely lehetővé teszi a szoftverfejlesztők számára, hogy gyakorlatilag korlátlan lehetőségekkel gondoljanak a képfeldolgozásra és testreszabásra. Beépített támogatást tartalmaz az alapvető képformátumokhoz, mint például a JPEG, PNG, HEIF és még sok más. Támogatja a képkódolást és a Swift kóddal történő dekódolást is.

A könyvtár nagyon gazdag funkciókban, és számos fontos funkciót tartalmaz a képek Swift parancsokkal történő kezeléséhez, mint például a képek betöltése, a képvezeték testreszabása, a képek átméretezése, szűrők alkalmazása, mint például a Gauss-elmosás, egyéni processzor használata, lekerekített képsarkok, LRU memória Gyorsítótár, HTTP lemezgyorsítótár, agresszív LRU lemezgyorsítótár, képek újratöltése, képanimáció, intelligens háttérkibontás, letöltések folytatása, prioritás kérése, alacsony adatforgalom és még sok más.

Previous Next

Ismerkedés a Nuke-val 

A Nuke telepítésének javasolt módja a CocoaPods használata. Kérjük, adja hozzá a következő sorokat a Podfile-hoz

Telepítse a Nuke-ot CocoaPods-on keresztül.

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

Klónozza a legújabb forrásokat a következő paranccsal.

Telepítse a Nuke-ot a GitHubon keresztül.

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

Képek letöltése és használata a Swift segítségével

A nyílt forráskódú Nuke API jól szervezett és hatékony módot biztosít a Swift-alkalmazásokon belüli képek letöltésére és használatára. A képek lekéréséhez át kell adnia a kívánt kép URL-jét, majd meg kell hívnia a resume metódust. A háttérben letölti a kért képet, és értesíti a válaszlezárást, ha kész.

Képek megtekintése különböző módokon belül Swift alkalmazások

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

Prefect Image használata Swift API

A prefetching egy nagyon hasznos funkció, amely lehetővé teszi a felhasználók számára, hogy idő előtt töltsék le a képet vagy más adatokat a használat előrehaladása során. Az alkalmazások letölthetik, és tárolhatják az alkalmazás hálózati cache-jában. Később, amikor meg kell nézni a képet, a kérésre adott válasz vissza fog térni a hálózat helyett. A nyílt forráskódú API Nuke tartalmazott támogatást egy izgalmas funkció ismert Prefetching képek segítségével Swift kód. Kérjük, ne feledje, hogy a Prefetching felveszi a felhasználók adatait, és extra nyomást gyakorol a CPU-ra, valamint a memóriára. Ennek a nyomásnak a csökkentése érdekében csak a lemezkazettát választhatja, mint a prefetching célt.

Prefect & Cache GitHub használata 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)
    }
} 

Töltsön be és váltson be képeket a Swift segítségével

A képgyorsítótárazás egy nagyon hasznos módszer, amely javítja az alkalmazások teljesítményét és a végfelhasználói élményt. A nyílt forráskódú Nuke API lehetővé teszi, hogy a szoftveralkalmazások automatikusan gyorsítótárba helyezzék a letöltött képeket. A Nuke két beépített gyorsítótárazási rétegre támaszkodik. Az első a feldolgozott kép tárolására szolgál, amely készen áll a megjelenítésre. Az LRU algoritmust használja – a sweep során először a legutóbb használt bejegyzéseket távolítja el. A 2.nd HTTP Disk Cache-t használ a feldolgozatlan képadatok tárolására. Lehetőség van a kért kép meglétének ellenőrzésére is a gyorsítótárban.

Read/Write kép a memória vagy a Disk Cache segítségével 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() 
 Magyar