Open Source Swift API do przetwarzania obrazu po stronie serwera
Swift Library z dołączoną obsługą ładowania, zapisywania i manipulowania obrazami. Umożliwia tworzenie obrazu o niestandardowej szerokości i wysokości, zmianę rozmiaru obrazu i przycinanie określonej części obrazu
SwiftGD to niewielka, wspaniała biblioteka, która zawiera obsługę manipulacji obrazami Swift po stronie serwera. Jest to fantastyczny wrapper Swift dla libgd, umożliwiający tworzenie obrazów i rysowanie kształtów w miejscach, w których funkcjonalność Core Graphics nie jest dostępna. Biblioteka jest bardzo prosta w użyciu i może z łatwością obsługiwać ładowanie obrazu, zapisywanie i manipulowanie za pomocą kodu Swift. Jedną wielką cechą biblioteki jest to, że zarządza ona zasobami GD dla użytkowników, więc podstawowa pamięć jest zwalniana, gdy obrazy są niszczone.
Biblioteka zawiera obsługę kilku ważnych funkcji związanych z obsługą obrazów, takich jak ładowanie plików PNG i JPEG z dysku, zapisywanie obrazów PNG i JPEG na dysku, tworzenie obrazu z niestandardową szerokością i wysokością, obsługa zmiany rozmiaru obrazu, przycinanie określonej części obrazu, rysowanie kształtów i linii, wypełnianie kolorami ze współrzędnych, odwracanie obrazu w poziomie lub w pionie, obsługa głaskania obrazu, wypełnianie rysunku lub tekstu i wiele innych. Biblioteka zawiera również kilka ważnych efektów, takich jak pikselowanie, rozmycie, kolorowanie, usuwanie nasycenia i tak dalej. . Biblioteka jest open source i jest dostępna na licencji MIT.
Pierwsze kroki z SwiftGD
Sklonuj najnowsze źródła za pomocą następującego polecenia.
Zainstaluj SwiftGD przez Github
Install SwiftGD via Github
$ git clone https://github.com/twostraws/SwiftGD.git
Tworzenie nowych obrazów za pomocą Swift
Biblioteka Swift o otwartym kodzie źródłowym SwiftGD umożliwia programistom tworzenie nowych obrazów za pomocą zaledwie kilku wierszy kodu Swift. Deweloperzy mogą łatwo stworzyć obraz od podstaw, podając szerokość i wysokość obrazu. Obsługuje również tworzenie obrazów z instancji danych. Generuje również obrazy, podczas gdy użytkownicy wykonują operację zmiany rozmiaru lub przycinania, co oznacza, że oryginalny obraz pozostanie nietknięty. Możesz także z łatwością zastosować podstawowe efekty do obrazów.
Tworzenie nowych obrazów poprzez bibliotekę Swift
import Foundation
import SwiftGD
// figure out where to save our file
let currentDirectory = URL(fileURLWithPath: FileManager().currentDirectoryPath)
let destination = currentDirectory.appendingPathComponent("output-1.png")
// attempt to create a new 500x500 image
if let image = Image(width: 500, height: 500) {
// flood from from X:250 Y:250 using red
image.fill(from: Point(x: 250, y: 250), color: Color.red)
// draw a filled blue ellipse in the center
image.fillEllipse(center: Point(x: 250, y: 250), size: Size(width: 150, height: 150), color: Color.blue)
// draw a filled green rectangle also in the center
image.fillRectangle(topLeft: Point(x: 200, y: 200), bottomRight: Point(x: 300, y: 300), color: Color.green)
// remove all the colors from the image
image.desaturate()
// now apply a dark red tint
image.colorize(using: Color(red: 0.3, green: 0, blue: 0, alpha: 1))
// save the final image to disk
image.write(to: destination)
}
Rysowanie kształtów za pomocą Swift
Biblioteka SwiftGD ułatwia programistom rysowanie i manipulowanie kształtami w ich aplikacjach Swift. Biblioteka udostępnia kilka metod, których można użyć do rysowania na obrazach, takich jak stosowanie wypełnienia rozpływowego z jednego punktu do drugiego, rysowanie linii z jednego punktu do drugiego, ustawianie piksela w określonym punkcie, wypełnianie elipsy w środku , rysując pustą elipsę w środku, pusty prostokąt rysujący z jednej strony na drugą i tak dalej.
Rysuje prostokąty przez Swift API
import Foundation
import SwiftGD
let currentDirectory = URL(fileURLWithPath: FileManager().currentDirectoryPath)
let destination = currentDirectory.appendingPathComponent("output-2.png")
if let image = Image(width: 500, height: 500) {
var counter = 0
for i in stride(from: 0, to: 250, by: 10) {
let drawColor: Color
if counter % 2 == 0 {
drawColor = .blue
} else {
drawColor = .white
}
image.fillRectangle(topLeft: Point(x: i, y: i), bottomRight: Point(x: 500 - i, y: 500 - i), color: drawColor)
counter += 1
}
image.blur(radius: 10)
image.write(to: destination)
}
Manipulacja obrazem w Swift Apps
Biblioteka Swift o otwartym kodzie źródłowym SwiftGD pozwala programistom komputerowym z łatwością manipulować obrazami w aplikacjach Swift. Biblioteka udostępnia kilka metod, których można użyć do zastosowania efektów do obrazów, takich jak zastosowanie efektu rozmycia Gaussa, zastosowanie odcienia obrazu, renderowanie obrazu w skali szarości, przerzucanie obrazu w poziomie i w pionie, uproszczenie obrazu zbyt duże piksele i wiele jeszcze.
Tworzenie Gradient przez Swift API
import Foundation
import SwiftGD
let currentDirectory = URL(fileURLWithPath: FileManager().currentDirectoryPath)
let destination = currentDirectory.appendingPathComponent("output-3.png")
let size = 500
if let image = Image(width: size, height: size) {
for x in 0 ... size {
for y in 0 ... size {
image.set(pixel: Point(x: x, y: y), to: Color(red: Double(x) / Double(size), green: Double(y) / Double(size), blue: 0, alpha: 1))
}
}
image.write(to: destination)
}
Ładowanie i czytanie obrazów
Bezpłatna biblioteka Swift SwiftGD umożliwia aplikacjom ładowanie i odczytywanie obrazów we własnych aplikacjach Swift. Aby pomyślnie wczytać, musisz podać lokalizację obrazu na dysku. Rozszerzenie pliku jest używane przez bibliotekę do ładowania prawidłowego formatu pliku, dlatego ważne jest, aby nazwać pliki „jpg”, „jpeg” lub „png”.
Czytanie obrazów poprzez Swift API
let location = URL(fileURLWithPath: "/path/to/image.png")
let image = Image(url: location)