छवि निर्माण और हेरफेर के लिए ओपन सोर्स गो लाइब्रेरी

शक्तिशाली गो एपीआई जो आकार बदलने, क्रॉप करने और जेपीईजी, पीएनजी, जीआईएफ, टीआईएफएफ और बीएमपी छवियों को घुमाने का समर्थन करता है। आप छवियों की चमक, कंट्रास्ट, गामा सुधार को भी समायोजित कर सकते हैं।

ओपन सोर्स गो इमेजिंग एपीआई एक बहुत शक्तिशाली पैकेज है जो छवि निर्माण और हेरफेर से संबंधित पूर्ण कार्यक्षमता प्रदान करता है। पुस्तकालय बहुत लचीला है और डेवलपर्स को आसानी से नई छवियां बनाने और मौजूदा लोगों को कोड की कुछ पंक्तियों के साथ संशोधित करने की अनुमति देता है।

इमेजिंग एक शुद्ध गो लाइब्रेरी है जो आकार में छोटा और कार्यक्षमता में कुशल है। इसमें कई महत्वपूर्ण छवि फ़ाइल स्वरूपों जैसे JPEG, PNG, GIF, TIFF, BMP, और कई अन्य के लिए समर्थन शामिल है। लाइब्रेरी में इमेज रीसाइज़िंग के लिए कई रीसैंपलिंग फ़िल्टर भी शामिल हैं। कुछ महत्वपूर्ण फ़िल्टर हैं नियरेस्ट नेबर, लैंक्ज़ोस, कैटमुलरोम, मिचेल नेत्रावली, लीनियर, बॉक्स, इत्यादि। पुस्तकालय ने डेवलपर्स को कस्टम फिल्टर बनाने की सुविधा भी दी है।

मुफ्त इमेजिंग लाइब्रेरी में इमेज प्रोसेसिंग से संबंधित कई महत्वपूर्ण विशेषताएं शामिल हैं, जैसे छवियों का आकार बदलना, इमेज रोटेशन, इमेज क्रॉपिंग, इमेज ब्राइटनेस एडजस्ट करना, इमेज कंट्रास्ट एडजस्टमेंट, इमेज का गामा करेक्शन, इमेज की सैचुरेशन को बदलना, क्लोन इमेज, इमेज छवियों को धुंधला, एन्कोड और डीकोड करना, छवि ओवरले, तीक्ष्णता जोड़ना, थंबनेल बनाना और कई अन्य सुविधाएं।

Previous Next

इमेजिंग के साथ शुरुआत करना

इमेजिनिस को GitHub के माध्यम से स्थापित करने का सबसे आसान और अनुशंसित तरीका।

GitHub के माध्यम से इमेजिंग स्थापित करें

go get -u github.com/disintegration/imaging

गो एपीआई के माध्यम से नई छवि उत्पन्न करें

ओपन सोर्स इमेजिंग लाइब्रेरी में गो कमांड का उपयोग करके अपने स्वयं के एप्लिकेशन के अंदर नई छवियां बनाने के लिए समर्थन शामिल है। नई छवि निर्माण के लिए छवि की चौड़ाई, ऊंचाई, छवि की पृष्ठभूमि का रंग और छवि के आउटपुट स्वरूप की आवश्यकता होती है। आप बनाई गई छवि को आसानी से संशोधित भी कर सकते हैं और फ्लिप, सेटिंग अपारदर्शिता, ब्लेंड, ब्लर, और बहुत कुछ जैसे विभिन्न ऑपरेशन कर सकते हैं।

गो एपीआई के माध्यम से नई छवि उत्पन्न करें

func New(width, height int, fillColor color.Color) *image.NRGBA {
	if width <= 0 || height <= 0 {
		return &image.NRGBA{}
	}
	c := color.NRGBAModel.Convert(fillColor).(color.NRGBA)
	if (c == color.NRGBA{0, 0, 0, 0}) {
		return image.NewNRGBA(image.Rect(0, 0, width, height))
	}
	return &image.NRGBA{
		Pix:    bytes.Repeat([]byte{c.R, c.G, c.B, c.A}, width*height),
		Stride: 4 * width,
		Rect:   image.Rect(0, 0, width, height),
	}
}

Go . के माध्यम से अन्य स्वरूपों में छवि रूपांतरण

सॉफ़्टवेयर डेवलपर एक निःशुल्क इमेजिंग लाइब्रेरी का उपयोग करके अपने स्वयं के GO ऐप्स के अंदर अपनी छवियों को अन्य समर्थित फ़ाइल स्वरूपों में आसानी से परिवर्तित कर सकते हैं। आपको केवल छवि का नाम और आउटपुट छवि प्रारूप प्रदान करने की आवश्यकता है। सहेजें फ़ंक्शन का उपयोग करके आप छवियों को कई अन्य समर्थित छवि फ़ाइल स्वरूपों जैसे PNG, BMP, GIF, JPEG, TIFF, आदि में आसानी से निर्यात कर सकते हैं।

छवियों का आकार बदलें और क्रॉप करें

नि: शुल्क इमेजिंग एपीआई में गो कमांड का उपयोग करके आपकी आवश्यकताओं के अनुसार छवियों का आकार बदलने की कार्यक्षमता शामिल है। सबसे पहले, आपको एक छवि खोलनी होगी और उसका आकार बदलने के लिए छवि की ऊंचाई और चौड़ाई प्रदान करनी होगी। एक अन्य विकल्प यह है कि आप पहलू अनुपात को संरक्षित करके केवल चौड़ाई प्रदान करके छवि का आकार बदल सकते हैं। पुस्तकालय कस्टम चौड़ाई, ऊंचाई प्रदान करके और केंद्र एंकर का उपयोग करके मूल छवि को क्रॉप करने की भी अनुमति देता है।

जाओ एपीआई के माध्यम से फसल और आकार बदलें छवि

func cropAndResize(img image.Image, width, height int, anchor Anchor, filter ResampleFilter) *image.NRGBA {
	dstW, dstH := width, height
	srcBounds := img.Bounds()
	srcW := srcBounds.Dx()
	srcH := srcBounds.Dy()
	srcAspectRatio := float64(srcW) / float64(srcH)
	dstAspectRatio := float64(dstW) / float64(dstH)
	var tmp *image.NRGBA
	if srcAspectRatio < dstAspectRatio {
		cropH := float64(srcW) * float64(dstH) / float64(dstW)
		tmp = CropAnchor(img, srcW, int(math.Max(1, cropH)+0.5), anchor)
	} else {
		cropW := float64(srcH) * float64(dstW) / float64(dstH)
		tmp = CropAnchor(img, int(math.Max(1, cropW)+0.5), srcH, anchor)
	}
	return Resize(tmp, dstW, dstH, filter)
}

फ्लिप, रोटेट, ब्लर और क्लोन इमेज

इमेजिंग लाइब्रेरी में इमेज मैनिपुलेशन के लिए कई महत्वपूर्ण विशेषताएं शामिल हैं जैसे कि इमेज फ़्लिपिंग, इमेज रोटेशन, ब्लरिंग और क्लोनिंग। किसी मौजूदा छवि की प्रतिलिपि बनाने के लिए आपको केवल क्लोन फ़ंक्शन को कॉल करने और मौजूदा छवि प्रदान करने की आवश्यकता है। पुस्तकालय कोड की कुछ पंक्तियों के साथ आपकी छवि को घुमाने और फ़्लिप करने का भी समर्थन करता है। आप दिए गए कोण से वामावर्त आसानी से एक छवि को घुमा सकते हैं। कोण पैरामीटर डिग्री में रोटेशन कोण है।

Go API के माध्यम से क्लोन छवि

func Clone(img image.Image) *image.NRGBA {
	src := newScanner(img)
	dst := image.NewNRGBA(image.Rect(0, 0, src.w, src.h))
	size := src.w * 4
	parallel(0, src.h, func(ys <-chan int) {
		for y := range ys {
			i := y * dst.Stride
			src.scan(0, y, src.w, y+1, dst.Pix[i:i+size])
		}
	})
	return dst
}
 हिन्दी