गो में छवियों को संयोजित करें: एक व्यापक मार्गदर्शिका
गो में, इसकी शक्तिशाली छवि लाइब्रेरी की बदौलत छवियों में हेरफेर करना बहुत आसान है। हालाँकि, यदि आप कई छवियों को एक बड़े कैनवास में मर्ज करना चाहते हैं, तो चीजें भ्रमित हो सकती हैं। इस कार्य को एक पेशेवर की तरह संभालने के लिए चरण-दर-चरण मार्गदर्शिका यहां दी गई है।
छवियां लोड करना
चीजों को शुरू करने के लिए, उन छवियों को लोड करें जिन्हें आप जोड़ना चाहते हैं। ऐसा करने के लिए यहां एक कोड स्निपेट है:
// Open the first image imgFile1, err := os.Open("test1.jpg") if err != nil { fmt.Println(err) } // Decode the image img1, _, err := image.Decode(imgFile1) if err != nil { fmt.Println(err) } // Open the second image imgFile2, err := os.Open("test2.jpg") if err != nil { fmt.Println(err) } // Decode the image img2, _, err := image.Decode(imgFile2) if err != nil { fmt.Println(err) }
एक नई छवि बनाना
इसके बाद, दोनों लोड की गई छवियों को समायोजित करने के लिए एक विशाल नई छवि बनाएं। दोनों छवियों की चौड़ाई जोड़कर इस नए कैनवास के आयाम निर्धारित करें:
r := image.Rectangle{image.Point{0, 0}, img1.Bounds().Dx() img2.Bounds().Dx(), img1.Bounds().Dy()} rgba := image.NewRGBA(r)
छवियां बनाना
अब मजेदार हिस्सा आता है: इस नए कैनवास के भीतर छवियों को इकट्ठा करना। वह स्थान निर्धारित करें जहां आप दूसरी छवि रखना चाहते हैं, और फिर दोनों छवियों को कैनवास पर बनाएं:
// Starting point of the second image (bottom left) sp2 := image.Point{img1.Bounds().Dx(), 0} // Rectangle for the second image r2 := image.Rectangle{sp2, sp2.Add(img2.Bounds().Size())} // Draw the first image draw.Draw(rgba, img1.Bounds(), img1, image.Point{0, 0}, draw.Src) // Draw the second image draw.Draw(rgba, r2, img2, image.Point{0, 0}, draw.Src)
परिणाम सहेज रहा है
अंत में, आइए इस संक्षिप्त को अमर बनाएं मास्टरपीस को एक नई छवि फ़ाइल के रूप में सहेजकर:
out, err := os.Create("./output.jpg") if err != nil { fmt.Println(err) } var opt jpeg.Options opt.Quality = 80 jpeg.Encode(out, rgba, &opt)
बस! आपने अनेक छवियों को सफलतापूर्वक एक समग्र में मर्ज कर दिया है। आगे बढ़ें और छवि हेरफेर की दुनिया पर विजय प्राप्त करें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3