Open Source Swift API لمعالجة الصور من جانب الخادم
مكتبة Swift لدعم مضمّن لتحميل الصور وحفظها ومعالجتها. يسمح بإنشاء الصور بعرض وارتفاع مخصصين ، وتغيير حجم الصورة واقتصاص جزء معين من الصورة
SwiftGD هي مكتبة رائعة صغيرة الحجم تضمنت دعمًا لمعالجة صور Swift من جانب الخادم. إنه غلاف Swift رائع لـ libgd ، مما يسمح بإنشاء الصور وأشكال الرسم في الأماكن التي لا تتوفر فيها وظيفة Core Graphics. المكتبة سهلة الاستخدام للغاية ويمكنها بسهولة التعامل مع تحميل الصور وحفظها ومعالجتها باستخدام كود Swift. تتمثل إحدى الميزات الرائعة للمكتبة في أنها تدير موارد GD للمستخدمين ، لذلك يتم تحرير الذاكرة الأساسية عند تدمير الصور.
تضمنت المكتبة دعمًا للعديد من الميزات المهمة المتعلقة بمعالجة الصور مثل تحميل ملفات PNG و JPEG من القرص ، وحفظ صور PNG و JPEG على القرص ، وإنشاء صورة بعرض وارتفاع مخصصين ، ودعم تغيير حجم الصورة ، واقتصاص جزء معين من الصورة ، رسم الأشكال والخطوط ، وحفظ اللون من الإحداثيات ، وتقليب الصورة الأفقي أو العمودي ، ودعم التمسيد بالصورة ، والرسم أو ملء النص وغير ذلك الكثير. تضمنت المكتبة أيضًا العديد من التأثيرات المهمة مثل pixelate و blur و colorize و de-saturate وما إلى ذلك. . المكتبة مفتوحة المصدر ومتاحة بموجب ترخيص MIT.
الشروع في العمل مع SwiftGD
استنساخ أحدث المصادر باستخدام الأمر التالي.
قم بتثبيت SwiftGD عبر جيثب
Install SwiftGD via Github
$ git clone https://github.com/twostraws/SwiftGD.git
إنشاء صور جديدة باستخدام Swift
تتيح مكتبة SwiftGD مفتوحة المصدر SwiftGD لمطوري البرامج إنشاء صور جديدة ببضعة سطرين فقط من كود Swift. يمكن للمطورين بسهولة إنشاء صورة من البداية من خلال توفير عرض الصورة وارتفاعها. كما أنه يدعم إنشاء الصور من حالات البيانات. يقوم أيضًا بإنشاء الصور أثناء قيام المستخدمين بإجراء عملية تغيير الحجم أو الاقتصاص ، مما يعني أن الصورة الأصلية لن يتم لمسها. يمكنك أيضًا تطبيق بعض التأثيرات الأساسية على الصور بسهولة.
إنشاء صور جديدة عبر مكتبة 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)
}
رسم الأشكال باستخدام 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 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)
}
تحميل الصور وقراءتها
توفر مكتبة SwiftGD المجانية لتطبيقات البرامج القدرة على تحميل وقراءة الصور داخل تطبيقات Swift الخاصة بهم. تحتاج إلى توفير موقع الصورة على القرص لتحميل ناجح. تستخدم المكتبة امتداد الملف لتحميل تنسيق الملف الصحيح ، لذلك من المهم تسمية ملفاتك بـ "jpg" أو "jpeg" أو "png".
قراءة الصور عبر Swift API
let location = URL(fileURLWithPath: "/path/to/image.png")
let image = Image(url: location)