सर्वर-साइड इमेज प्रोसेसिंग के लिए ओपन सोर्स स्विफ्ट एपीआई
छवि लोड करने, सहेजने और हेरफेर करने के लिए शामिल समर्थन के लिए स्विफ्ट लाइब्रेरी। यह कस्टम चौड़ाई और ऊंचाई के साथ छवि निर्माण, छवि का आकार बदलने और छवि के एक विशिष्ट भाग को क्रॉप करने की अनुमति देता है
स्विफ्टजीडी एक छोटे आकार का अद्भुत पुस्तकालय है जिसमें सर्वर-साइड स्विफ्ट छवि हेरफेर के लिए समर्थन शामिल है। यह libgd के लिए एक शानदार स्विफ्ट रैपर है, जो उन जगहों पर छवियों और ड्राइंग आकृतियों के निर्माण की अनुमति देता है जहां कोर ग्राफिक्स कार्यक्षमता उपलब्ध नहीं है। पुस्तकालय का उपयोग करना बहुत आसान है और स्विफ्ट कोड का उपयोग करके छवि लोडिंग, बचत और हेरफेर को आसानी से संभाल सकता है। पुस्तकालय की एक बड़ी विशेषता यह है कि यह उपयोगकर्ताओं के लिए जीडी संसाधनों का प्रबंधन करता है, इसलिए छवियों के नष्ट होने पर अंतर्निहित मेमोरी जारी की जाती है।
लाइब्रेरी में इमेज हैंडलिंग से संबंधित कई महत्वपूर्ण विशेषताओं के लिए समर्थन शामिल है जैसे कि पीएनजी और जेपीईजी डिस्क से लोड हो रहा है, पीएनजी और जेपीईजी छवियों को डिस्क में सहेजना, कस्टम चौड़ाई और ऊंचाई के साथ छवि निर्माण, छवि आकार बदलने का समर्थन, छवि के एक विशिष्ट हिस्से को क्रॉप करना, आकृतियाँ और रेखाएँ खींचना, निर्देशांक से रंग भरना, क्षैतिज या ऊर्ध्वाधर छवि फ़्लिप करना, छवि पथपाकर समर्थन, आरेखण या पाठ भरना और बहुत कुछ। पुस्तकालय में कई महत्वपूर्ण प्रभाव भी शामिल हैं जैसे कि पिक्सेलेट, ब्लर, कलराइज़, डी-सैचुरेट, और इसी तरह। . पुस्तकालय खुला स्रोत है और एमआईटी लाइसेंस के तहत उपलब्ध है।
स्विफ्टजीडी के साथ शुरुआत करना
निम्न आदेश का उपयोग करके नवीनतम स्रोतों को क्लोन करें।
Github के माध्यम से SwiftGD इंस्टॉल करें
Install स्विफ्टजीडी via Github
$ git clone https://github.com/twostraws/SwiftGD.git
स्विफ्ट का उपयोग करके नई छवियां बनाना
ओपन सोर्स स्विफ्ट लाइब्रेरी स्विफ्टजीडी सॉफ्टवेयर डेवलपर्स को स्विफ्ट कोड की कुछ पंक्तियों के साथ नई छवियां बनाने में सक्षम बनाती है। डेवलपर आसानी से छवि की चौड़ाई और ऊंचाई प्रदान करके खरोंच से एक छवि बना सकते हैं। यह डेटा इंस्टेंस से चित्र बनाने का भी समर्थन करता है। यह छवियों को भी उत्पन्न करता है, जबकि उपयोगकर्ता आकार बदलने या फसल संचालन करते हैं, जिसका अर्थ है कि मूल छवि छूटी नहीं जाएगी। आप छवियों पर कुछ बुनियादी प्रभाव भी आसानी से लागू कर सकते हैं।
स्विफ्ट लाइब्रेरी के माध्यम से नई छवियां बनाना
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 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 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)
}
छवियां लोड हो रही हैं और पढ़ना
निःशुल्क स्विफ्ट लाइब्रेरी स्विफ्टजीडी सॉफ्टवेयर ऐप्स को अपने स्वयं के स्विफ्ट ऐप्स के अंदर छवियों को लोड करने और पढ़ने की क्षमता प्रदान करती है। सफल लोडिंग के लिए आपको डिस्क पर छवि का स्थान प्रदान करना होगा। फ़ाइल एक्सटेंशन का उपयोग लाइब्रेरी द्वारा सही फ़ाइल प्रारूप को लोड करने के लिए किया जाता है, इसलिए यह महत्वपूर्ण है कि आप अपनी फ़ाइलों को "jpg", "jpeg", या "png" नाम दें।
स्विफ्ट API के माध्यम से पढ़ना छवियां
let location = URL(fileURLWithPath: "/path/to/image.png")
let image = Image(url: location)