ספריית ניהול תמונות קוד פתוח עבור מפתחים
IF היא אחת מספריית הקוד הפתוח הקלה ביותר לשימוש בכל הנוגע לעיבוד תמונות ומניפולציות תוך שימוש ב-Go.
כשמדובר בפיתוח יישומים ב-Go המסתמכים על עיבוד תמונה ומניפולציה, IF (Go Image Processing Toolkit) הספרייה היא אחת הספריה הטובה ביותר, ארוזה לחלוטין שאתה יכול להשתמש. זה לא דורש תוספים או ספריות נוספות מחוץ לתחום של Go, וניתן להוריד ישירות מ Git.
כספריית קוד פתוח, אתה יכול בקלות לכלול את IF ליישום התוכנה שלך כדי לאפשר תכונות עיבוד תמונה כגון מגורים, חיתוך, הוספת מסננים, הגדלת או הפחתת הרוויה ועוד.
באופן דומה, אתה יכול גם ליצור מסנן חדש או תמונה חדשה, מלבד שימוש במסננים שכבר נוספו בארגז הכלים. זה די קל לשימוש, קל משקל ואינו דורש תאימות פלטפורמה צולבת או tweaks. זוהי ספריית קוד פתוח מושלמת עבור מפתחים נוח באמצעות Go.
להתחיל עם אם
הדרך הקלה והמרשימה ביותר להתקין את IF היא באמצעות GitHub. אנא השתמש בפקודה הבאה עבור התקנה קלה וחלקה.
התקנה IF דרך GitHub
go get -u github.com/disintegration/gift
שימוש בפילטרים באמצעות ספריית חינם
ספריית הקוד הפתוח IF מאפשרת למפתחי תוכנה ליישם באופן מתכנת מסננים בתמונות. בעזרת הפונקציה 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)
שימוש בשירותי ספריה אם ספריה
אם אתה רוצה לדמיין תמונה אחת על פני השני, הפונקציה 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)