इमेज मैनिपुलेशन और प्रोसेसिंग के लिए PHP लाइब्रेरी
ओपन सोर्स PHP लाइब्रेरी जो आसानी से JPEG, PNG, GIF, TIF, BMP, ICO, PSD, WebP इमेज बनाने, पढ़ने, संशोधित करने, आकार बदलने और क्रॉप करने की अनुमति देती है।
इंटरवेंशन इमेज एक ओपन सोर्स PHP इमेज मैनिपुलेशन और प्रोसेसिंग लाइब्रेरी है जो सॉफ्टवेयर डेवलपर्स को अपने PHP एप्लिकेशन के अंदर इमेज बनाने, संशोधित करने और कंपोज करने की क्षमता देती है। इंटरवेंशन इमेज में Laravel के लिए वैकल्पिक समर्थन है और यह आसान एकीकरण के लिए एक सेवा प्रदाता और Facades के साथ आता है। पुस्तकालय बहुत स्थिर है और आपको हर कार्य को आसान तरीके से और न्यूनतम कोड के साथ प्रबंधित करने में मदद करता है।
पुस्तकालय ने दो सबसे आम छवि प्रसंस्करण पुस्तकालयों जीडी लाइब्रेरी और इमेजिक के लिए समर्थन प्रदान किया है। इसने कई लोकप्रिय छवि फ़ाइल स्वरूपों जैसे JPEG, PNG, GIF, TIF, BMP, ICO, PSD, WebP, और कई अन्य के लिए समर्थन प्रदान किया है। पठनीय छवि प्रारूप चुने हुए ड्राइवर (जीडी या इमेजिक) और आपके स्थानीय कॉन्फ़िगरेशन पर निर्भर करते हैं।
पुस्तकालय में कई महत्वपूर्ण छवि प्रसंस्करण सुविधाओं के लिए समर्थन शामिल है, जैसे खरोंच से छवियां बनाना, मौजूदा छवियों को पढ़ना, मौजूदा छवियों को संपादित करना, छवि थंबनेल बनाना, छवियों पर प्रभाव लागू करना, छवियों में वॉटरमार्क जोड़ना, बड़ी छवि फ़ाइलों को स्वरूपित करना, छवियों का आकार बदलना अपनी आवश्यकताओं के लिए, छवियों पर टेक्स्ट और आकार बनाएं, छवि जानकारी पुनर्प्राप्त करें और बहुत कुछ।
हस्तक्षेप छवि के साथ शुरुआत करना
इसके लिए GD2 एक्सटेंशन के साथ PHP 5.4+ की आवश्यकता है। Composer के साथ इंटरवेंशन इमेज इंस्टाल करने का सबसे अच्छा तरीका जल्दी और आसानी से है। कृपया निम्न आदेश का प्रयोग करें।
संगीतकार के माध्यम से हस्तक्षेप छवि स्थापित करें
$ php composer.phar require intervention/image
PHP के माध्यम से नई छवियां बनाएं
ओपन सोर्स इंटरवेंशन इमेज लाइब्रेरी सॉफ्टवेयर डेवलपर को अपने स्वयं के एप्लिकेशन के अंदर PHP कमांड का उपयोग करके एक नया खाली इमेज इंस्टेंस बनाने में सक्षम बनाता है। डेवलपर्स कस्टम चौड़ाई, ऊंचाई प्रदान कर सकते हैं, और अपनी पसंद के पृष्ठभूमि रंग को भी परिभाषित कर सकते हैं। यदि रंग परिभाषित नहीं है तो डिफ़ॉल्ट कैनवास पृष्ठभूमि का उपयोग किया जाएगा जो पारदर्शी है।
नई छवि बनाएं और PHP के माध्यम से फ़ाइल का आकार प्राप्त करें
// create an image
$img = Image::make('public/foo.jpg');
// get file size
$size = $img->filesize();
PHP API के माध्यम से चित्र पढ़ना
फ्री इंटरवेंशन इमेज लाइब्रेरी ने आसानी से जावास्क्रिप्ट एप्लिकेशन के अंदर विभिन्न प्रकार की छवियों को पढ़ने के लिए सहायता प्रदान की है। आपको छवि का पूरा पथ प्रदान करने की आवश्यकता है और शेष पुस्तकालय द्वारा आसानी से किया जाएगा। आप छवि को URL भी प्रदान कर सकते हैं और यह आपके लिए इसे आसानी से पढ़ सकता है। यह बाइनरी इमेज डेटा, बेस 64 एन्कोडेड इमेज डेटा और भी बहुत कुछ पढ़ सकता है।
PHP का उपयोग करके छवि को क्रॉप करना
इंटरवेंशन इमेज लाइब्रेरी में जावास्क्रिप्ट कोड की कुछ पंक्तियों का उपयोग करके छवियों को प्रोग्रामेटिक रूप से क्रॉप करने की कार्यक्षमता शामिल है। पुस्तकालय डेवलपर्स को आयताकार भाग की कस्टम चौड़ाई और ऊंचाई प्रदान करने की अनुमति देता है और वर्तमान छवि के उस हिस्से को प्रदान की गई चौड़ाई और ऊंचाई के अनुसार काट देता है। वैकल्पिक रूप से आप कटआउट के ऊपरी-बाएँ कोने को किसी विशेष स्थान पर स्थानांतरित करने के लिए x, y निर्देशांक भी परिभाषित कर सकते हैं।
PHP के माध्यम से फसल छवि
// open file a image resource
$img = Image::make('public/foo.jpg');
// crop image
'$img->crop(100, 100, 25, 25);
छवि फ़िल्टर का उपयोग करना
फिल्टर कमांड का एक समूह है जो कुछ विशेषताओं पर जोर दे सकता है या अन्य सुविधाओं को हटा सकता है। यह आपको इमेज ट्रांसफॉर्मेशन कमांड को एक समर्पित ऑब्जेक्ट में समूहित करने के लिए उपयोगी विकल्प देता है और ऑब्जेक्ट का उपयोग किसी छवि पर प्रभाव लागू करने के लिए किया जा सकता है। ऑब्जेक्ट परिभाषित करेगा कि किस कमांड का उपयोग करना है और किस क्रम में करना है। इंटरवेंशन इमेज लाइब्रेरी आपको अपने स्वयं के फ़िल्टर को परिभाषित करने और उन्हें आसानी से लागू करने की अनुमति देती है।
PHP के माध्यम से छवि पर फ़िल्टर लागू करें
namespace Intervention\Image\Filters;
class DemoFilter implements FilterInterface
{
const DEFAULT_SIZE = 10;
private $size;
// Creates new instance of filter
public function __construct($size = null)
{
$this->size = is_numeric($size) ? intval($size) : self::DEFAULT_SIZE;
}
public function applyFilter(\Intervention\Image\Image $image)
{
$image->pixelate($this->size);
$image->greyscale();
return $image;
}
}