مكتبة معالجة الصور مفتوحة المصدر لمطوري Go

GIFT هي واحدة من أسهل المكتبات مفتوحة المصدر للاستخدام عندما يتعلق الأمر بمعالجة الصور والتلاعب بها أثناء استخدام Go.

عندما يتعلق الأمر بتطوير التطبيقات في Go التي تعتمد على معالجة الصور ومعالجتها ، تعد مكتبة GIFT (Go Image Processing Toolkit) واحدة من أفضل المكتبات المعبأة بالكامل التي يمكنك استخدامها. لا يتطلب أي إضافات أو مكتبات إضافية خارج نطاق Go ، ويمكن تنزيلها مباشرة من Git.

كمكتبة مفتوحة المصدر ، يمكنك بسهولة تضمين GIFT في تطبيق البرنامج الخاص بك للسماح بميزات معالجة الصور مثل تغيير حجم الصورة ، والقص ، وإضافة عوامل التصفية ، وزيادة أو تقليل التشبع وغير ذلك الكثير.

وبالمثل ، يمكنك أيضًا إنشاء مرشح جديد أو صورة جديدة ، بصرف النظر عن استخدام المرشحات المضافة بالفعل في مجموعة الأدوات. إنه سهل الاستخدام وخفيف الوزن ولا يتطلب توافقًا عبر الأنظمة الأساسية أو تعديلات. إنها مكتبة مفتوحة المصدر مثالية للمطورين المريحين باستخدام Go.

Previous Next

الابتداء مع GIFT

الطريقة الأسهل والموصى بها لتثبيت GIFT هي عبر GitHub. الرجاء استخدام الأمر التالي للتثبيت السهل والسلس ..

قم بتثبيت GIFT عبر GitHub

 go get -u github.com/disintegration/gift

تطبيق المرشحات باستخدام مكتبة Free Go

تتيح مكتبة GIFT مفتوحة المصدر لمطوري البرامج تطبيق عوامل التصفية في الصور برمجيًا. بمساعدة وظيفة الرسم ، يمكنك تطبيق جميع المرشحات والتغييرات على صورة المصدر (src) ، وتوفر لك الإخراج نتيجة صورة الوجهة (dst). تبدأ التغييرات من أعلى الزاوية اليسرى وتستمر إلى ذلك الحد.

كيفية تطبيق مرشح ColorBalance عبر Go API

 g := gift.New(
	gift.ColorBalance(20, -20, 0), // +20% red, -20% green
)
dst := image.NewRGBA(g.Bounds(src.Bounds()))
g.Draw(dst, src)

مكتبة Free Go لتغيير تكوين الصورة

عندما يتعلق الأمر بتغيير تكوين الصورة ، فهناك وظيفتان تدعمان ذلك ، أولهما وظيفة CopyOperator. باستخدام CopyOperator ، يمكنك استبدال وحدات البكسل الخاصة بصورتك dst ببكسل صورة src التي تمت تصفيتها. يمكن تطبيق هذا التغيير بمساعدة وظيفة الرسم المذكورة أعلاه.

تطبيق تكوين الصورة عبر مرشح DrawAt عبر Go

// It outputs the filtered src image to the dst image
g.DrawAt(dst, src, dst.Bounds().Min, gift.CopyOperator)

استخدام Over Operator في Go GIFT Library

في حالة رغبتك في تراكب صورة واحدة على الأخرى ، يمكن لوظيفة OverOperator إنجاز المهمة. يمكن أن يكون هذا الوضع مفيدًا في حالة رغبتك في وضع مساحات شفافة من صورة src أعلى الصورة dst.

كيفية إنشاء نسخة من الصورة عبر Go Library

// 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)
 عربي