গো ডেভেলপারদের জন্য ওপেন সোর্স ইমেজ ম্যানিপুলেশন লাইব্রেরি
Go ব্যবহার করার সময় ইমেজ প্রসেসিং এবং ম্যানিপুলেশনের ক্ষেত্রে GIFT হল সবচেয়ে সহজ ওপেন সোর্স লাইব্রেরি।
যখন গো-তে এমন অ্যাপ্লিকেশনগুলি তৈরি করার কথা আসে যা ইমেজ প্রসেসিং এবং ম্যানিপুলেশনের উপর নির্ভর করে, তখন GIFT (Go Image Processing Toolkit) লাইব্রেরি হল সেরা, সম্পূর্ণ প্যাকেজ করা লাইব্রেরি যা আপনি ব্যবহার করতে পারেন৷ এটির জন্য কোনও অতিরিক্ত প্লাগইন বা লাইব্রেরির প্রয়োজন নেই যা Go এর সুযোগের বাইরে এবং সরাসরি গিট থেকে ডাউনলোড করা যেতে পারে।
একটি ওপেন সোর্স লাইব্রেরি হিসাবে, আপনি সহজেই আপনার সফ্টওয়্যার অ্যাপ্লিকেশনটিতে উপহার অন্তর্ভুক্ত করতে পারেন যাতে চিত্রের আকার পরিবর্তন করা, ক্রপ করা, ফিল্টার যোগ করা, স্যাচুরেশন বাড়ানো বা হ্রাস এবং আরও অনেক কিছুর মতো চিত্র প্রক্রিয়াকরণ বৈশিষ্ট্যগুলিকে অনুমতি দেওয়া যায়।
একইভাবে, টুলকিটে ইতিমধ্যে যোগ করা ফিল্টার ব্যবহার করা ছাড়াও আপনি একটি নতুন ফিল্টার বা নতুন ছবি তৈরি করতে পারেন। এটি ব্যবহার করা বেশ সহজ, হালকা ওজনের এবং ক্রস প্ল্যাটফর্ম সামঞ্জস্য বা টুইকের প্রয়োজন নেই। Go ব্যবহার করে আরামদায়ক বিকাশকারীদের জন্য এটি নিখুঁত ওপেন সোর্স লাইব্রেরি।
GIFT দিয়ে শুরু করা
GIFT ইন্সটল করার সবচেয়ে সহজ এবং প্রস্তাবিত উপায় হল GitHub এর মাধ্যমে। একটি সহজ এবং মসৃণ ইনস্টলেশনের জন্য অনুগ্রহ করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন..
GitHub-এর মাধ্যমে GIFT ইনস্টল করুন
go get -u github.com/disintegration/gift
ফ্রি গো লাইব্রেরি ব্যবহার করে ফিল্টার প্রয়োগ করুন
ওপেন সোর্স GIFT লাইব্রেরি সফ্টওয়্যার ডেভেলপারদের প্রোগ্রাম্যাটিকভাবে ছবিতে ফিল্টার প্রয়োগ করতে সক্ষম করে। ড্র ফাংশনের সাহায্যে আপনি সোর্স (src) ছবিতে সমস্ত ফিল্টার এবং পরিবর্তনগুলি প্রয়োগ করতে পারেন এবং একটি গন্তব্য (dst) চিত্রের ফলাফলে আপনাকে আউটপুট প্রদান করে। পরিবর্তনগুলি উপরের বাম কোণ থেকে শুরু হয় এবং আরও এগিয়ে যায়৷
Go API এর মাধ্যমে কিভাবে ColorBalance ফিল্টার প্রয়োগ করবেন
g := gift.New(
gift.ColorBalance(20, -20, 0), // +20% red, -20% green
)
dst := image.NewRGBA(g.Bounds(src.Bounds()))
g.Draw(dst, src)
ইমেজ কম্পোজিশন পরিবর্তন করতে ফ্রি গো লাইব্রেরি
যখন একটি চিত্রের রচনা পরিবর্তনের কথা আসে তখন দুটি ফাংশন থাকে যা এটিকে সমর্থন করে, প্রথমে কপিঅপারেটর। CopyOperator-এর সাহায্যে আপনি আপনার dst ছবির পিক্সেলকে ফিল্টার করা src ছবির পিক্সেল দিয়ে প্রতিস্থাপন করতে পারেন। এই পরিবর্তনটি উপরে উল্লিখিত ড্র ফাংশনের সাহায্যে প্রয়োগ করা যেতে পারে।
Go এর মাধ্যমে DrawAt ফিল্টারের মাধ্যমে চিত্র রচনা প্রয়োগ করুন
// It outputs the filtered src image to the dst image
g.DrawAt(dst, src, dst.Bounds().Min, gift.CopyOperator)
Go GIFT লাইব্রেরিতে ওভার অপারেটর ব্যবহার করা
যদি আপনি একটি চিত্রকে অন্যটির উপরে সুপারপোজ করতে চান, ওভারঅপারেটর ফাংশনটি কাজটি সম্পন্ন করতে পারে। আপনি dst ছবির উপরে একটি src ছবির স্বচ্ছ এলাকা রাখতে চাইলে এই মোডটি কার্যকর হতে পারে।
গো লাইব্রেরির মাধ্যমে কীভাবে চিত্রের অনুলিপি তৈরি করবেন
// Create a new image with dimensions of the bgImage.
dstImage := image.NewRGBA(bgImage.Bounds())
// Copy the bgImage to the dstImage.
gift.New().Draw(dstImage, bgImage)
// Draw the fgImage over the dstImage at the (100, 100) position.
gift.New().DrawAt(dstImage, fgImage, image.Pt(100, 100), gift.OverOperator)