Swift API с открытым исходным кодом для обработки изображений на стороне сервера
Библиотека Swift для поддержки загрузки, сохранения и управления изображениями. Он позволяет создавать изображения с настраиваемой шириной и высотой, изменять размер изображения и обрезать определенную часть изображения.
SwiftGD - это небольшая библиотека, которая включает в себя поддержку манипулирования изображениями на стороне сервера Swift. Это фантастическая обертка Swift для жизни, позволяющая создавать изображения и фигуры в местах, где функционал Core Graphics недоступен. Библиотека очень проста в использовании и может легко обрабатывать загрузку, сохранение и манипулирование изображения с помощью кода Swift. Одна замечательная особенность библиотеки в том, что она управляет Gt ресурсы для пользователей, поэтому основная память высвобождается, когда изображения разрушаются.
Библиотека включает в себя поддержку нескольких важных функций, связанных с обработкой изображений, таких как загрузка Pos & JPEG с диска, сохранение изображений Pos & JPEG на диск, создание изображений с пользовательской шириной и высотой, поддержка проживания изображения, посадка определенной части изображения, формы рисования и линии, подача цветов из координат, горизонтальная или вертикальная перевертка изображения, поддержка изображения, рисование или заполнение текста и многое другое. Библиотека также включает в себя несколько важных эффектов, таких как прелат, блеур, колонизация, де-насыщенные и так далее. Библиотека является открытым исходным кодом и доступна по лицензии ИТ.
Начало работы со SwiftGD
Клонируйте последние исходники с помощью следующей команды.
Установка SwiftGD через Github
Install SwiftGD via Github
$ git clone https://github.com/twostraws/SwiftGD.git
Создание новых изображений с помощью Swift
Библиотека Swift с открытым исходным кодом SwiftGD позволяет разработчикам программного обеспечения создавать новые изображения всего несколькими строками кода Swift. Разработчики могут легко создать изображение с нуля, указав ширину и высоту изображения. Он также поддерживает создание изображений из экземпляров данных. Он также генерирует изображения, когда пользователи выполняют операцию изменения размера или обрезки, что означает, что исходное изображение останется нетронутым. Вы также можете легко применять некоторые базовые эффекты к изображениям.
Создание новых изображений через Swift Library
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)
}
Рисование фигур с помощью Swift
Библиотека SwiftGD позволяет разработчикам программного обеспечения легко рисовать и манипулировать формами внутри своих приложений Swift. Библиотека предоставила несколько методов, которые могут быть использованы для втягивания в ваши изображения, таких как нанесение заполнения паводка из одной точки в другую, рисуя линию из одной точки в другую, пиксель настраивая определенную точку, заполняя эллипс в центре, рисуя пустой эллипс в центре, пустой прямоугольник, рисуя с одной стороны в другую и так далее.
Рисует прямоугольники через 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)
}
Манипуляции с изображениями внутри приложений Swift
Библиотека SwiftGD с открытым исходным кодом Swift позволяет программистам легко манипулировать изображениями в приложениях Swift. Библиотека предоставила несколько методов, которые могут быть использованы для нанесения эффектов на изображения, такие как применение русского эффекта размытия, применение оттенка изображения, визуализация изображения серого масштаба, переворачивание изображения горизонтально, а также вертикально, упрощение изображения слишком больших пикселей и многое другое.
Создание градиента через 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)
}
Загрузка и чтение изображений
Бесплатная библиотека Swift SwiftGD дает программным приложениям возможность загружать и читать изображения внутри своих собственных приложений Swift. Вам необходимо указать расположение образа на диске для успешной загрузки. Расширение файла используется библиотекой для загрузки файла в правильном формате, поэтому важно, чтобы файлы назывались «jpg», «jpeg» или «png».
Чтение изображений через Swift API
let location = URL(fileURLWithPath: "/path/to/image.png")
let image = Image(url: location)