کتابخانه دستکاری تصویر منبع باز برای Go Developers
GIFT یکی از سادهترین کتابخانههای منبع باز برای استفاده در پردازش تصویر و دستکاری هنگام استفاده از Go است.
وقتی صحبت از توسعه برنامههای کاربردی در Go میشود که بر پردازش و دستکاری تصویر متکی هستند، کتابخانه GIFT (Go Image Processing Toolkit) یکی از بهترین کتابخانههای بستهبندی کاملی است که میتوانید استفاده کنید. به هیچ پلاگین یا کتابخانه اضافی که خارج از محدوده Go هستند نیازی ندارد و می توان آن را مستقیماً از Git دانلود کرد.
به عنوان یک کتابخانه منبع باز، می توانید به راحتی GIFT را در برنامه نرم افزاری خود قرار دهید تا ویژگی های پردازش تصویر مانند تغییر اندازه تصویر، برش، افزودن فیلتر، افزایش یا کاهش اشباع و موارد دیگر را امکان پذیر کنید.
به طور مشابه، شما همچنین می توانید یک فیلتر جدید یا تصویر جدید ایجاد کنید، جدا از استفاده از فیلترهایی که قبلاً در جعبه ابزار اضافه شده است. استفاده از آن بسیار آسان، سبک وزن است و نیازی به سازگاری با پلتفرم های مختلف یا تغییراتی ندارد. این کتابخانه متن باز کامل برای توسعه دهندگانی است که راحت از Go استفاده می کنند.
شروع با GIFT
ساده ترین و توصیه شده ترین راه برای نصب GIFT از طریق GitHub است. لطفا برای نصب آسان و روان از دستور زیر استفاده کنید..
GIFT را از طریق GitHub نصب کنید
go get -u github.com/disintegration/gift
فیلترها را با استفاده از Free Go Library اعمال کنید
کتابخانه GIFT منبع باز به توسعه دهندگان نرم افزار این امکان را می دهد که به صورت برنامه نویسی فیلترها را در تصاویر اعمال کنند. با کمک تابع Draw می توانید تمام فیلترها و تغییرات را روی تصویر مبدا (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)
رایگان برو کتابخانه برای تغییر ترکیب تصویر
وقتی صحبت از تغییر ترکیب یک تصویر می شود، دو تابع وجود دارد که از آن پشتیبانی می کنند، اول CopyOperator است. با CopyOperator می توانید پیکسل های تصویر dst خود را با پیکسل های تصویر src فیلتر شده جایگزین کنید. این تغییر را می توان با کمک تابع Draw که در بالا ذکر شد اعمال کرد.
ترکیب تصویر را از طریق فیلتر 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
در صورتی که می خواهید یک تصویر را بر دیگری قرار دهید، تابع OverOperator می تواند کار را انجام دهد. این حالت می تواند برای مواردی مفید باشد که می خواهید مناطق شفاف یک تصویر src را در بالای تصویر dst قرار دهید.
نحوه ایجاد کپی از تصویر از طریق کتابخانه Go
// 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)