Mergi
GO API לעיבוד תמונה מתקדם
ספריית Open Source Go למיזוג, חיתוך ושינוי גודל של תמונות באופן תכנותי. אתה יכול להוסיף סימני מים ואנימציה לתמונות בתוך האפליקציות שלך.
Mergi היא ספריית go רבת עוצמה המספקת את היכולת לעבד תמונות באופן פרוגרמטי באמצעות שפת GO. הספרייה מאורגנת היטב וניתן לשלב אותה בקלות כדי לבצע פעולות רבות רק עם כמה שורות של קוד Go. הספרייה זמינה באופן חופשי תחת רישיון MIT וניתן להשתמש בה בקלות בתוך הפרויקטים שלך.
ספריית הקוד הפתוח Mergi כללה תמיכה מלאה במספר תכונות עיבוד תמונה חשובות כמו מיזוג תמונות, תמיכה בחיתוך תמונות, שינוי גודל של תמונות, הוספת סימני מים לתמונות שלך, מתקן הנפשת תמונה, הקלת תמונות, הוספת מעבר לתמונות ועוד רבים נוספים.
תחילת העבודה עם Mergi
הדרך הקלה ביותר להתקין את Mergi היא באמצעות GitHub. אנא השתמש בפקודה הבאה להתקנה חלקה
התקן את Mergi דרך GitHub.
$ go get github.com/noelyahan/mergi
הנפשת תמונות באמצעות Go API
ספריית הקוד הפתוח Mergi מעניקה למפתחי תוכנה את הכוח להנפיש כל תוצאת מערך תמונות נתונה בתוך יישומי ה-GO שלהם. עליך לספק את הנתיב הנכון של התמונה או כתובת האתר של נתיב הקובץ. לאחר מכן עליך להעביר את התמונות למערך ולהחיל השהיה בהתאם לצורך שלך. בסופו של דבר, אתה יכול לייצא את התוצאה הסופית באמצעות יצואן אנימציה כדי לקבל את קובץ ה-GIF שנוצר.
איך לצייר תמונות דרך 36
func Animate(imgs []image.Image, delay int) (gif.GIF, error) {
for i, v := range imgs {
if v == nil {
msg := fmt.Sprintf("Mergi found a error image=[%v] on %d", v, i)
return gif.GIF{}, errors.New(msg)
}
}
delays := make([]int, 0)
for i := 0; i < len(imgs); i++ {
delays = append(delays, delay)
}
images := encodeImgPaletted(&imgs)
return gif.GIF{
Image: images,
Delay: delays,
}, nil
}
חיתוך תמונה באמצעות Go API
תמונה מושלמת יכולה לומר אלף מילים. חיתוך תמונה הוא הסרה של אזור לא רצוי בתמונה כדי ליצור מיקוד או לחזק את התמונה. ספריית Mergi מאפשרת למתכנתי תוכנה לחתוך את התמונות שלהם בתוך יישומי Go משלהם. המפתח צריך לספק את הרוחב והגובה המותאמים אישית של התמונה והמיקום הנדרשים.
תמונות דרך GO API
var errCrop = errors.New("Mergi found a error image on Crop")
var errCropBound = errors.New("Mergi expects more than 0 value for bounds")
func Animate(imgs []image.Image, delay int) (gif.GIF, error) {
for i, v := range imgs {
if v == nil {
msg := fmt.Sprintf("Mergi found a error image=[%v] on %d", v, i)
return gif.GIF{}, errors.New(msg)
}
}
delays := make([]int, 0)
for i := 0; i < len(imgs); i++ {
delays = append(delays, delay)
}
images := encodeImgPaletted(&imgs)
return gif.GIF{
Image: images,
Delay: delays,
}, nil
}
הוספת סימני מים לתמונות
ספריית Mergi החינמית מעניקה למתכנתי תוכנה את היכולת להכניס בקלות סימני מים לתמונות בתוך יישומי ה-Go שלהם. על ידי שימוש בתכונת סימון המים נוכל בקלות להגן התמונות שלנו מפני יצירה והפצה לא מורשים של עותקים. הספרייה תומכת בהצבת לוגו כמו גם סימני מים של טקסט באמצעות כמה שורות של קוד Go. ניתן למקם את סימני המים בכל מיקום נבחר לבחירתכם וכן עם האטימות לבחירתכם.
הוספת סימני מים לתמונה באמצעות Go API
originalImage, _ := mergi.Import(impexp.NewFileImporter("./testdata/mergi_bg_1.png"))
watermarkImage, _ := mergi.Import(impexp.NewFileImporter("./testdata/glass-mergi_logo_watermark_90x40.jpg"))
res, _ := mergi.Watermark(watermarkImage, originalImage, image.Pt(250, 10))
mergi.Export(impexp.NewFileExporter(res, "watermark.png"))
תמיכה במיזוג תמונות
ספריית Mergi מאפשרת למפתחים לשלב מספר תמונות לתמונה אחת בהתאם לצרכיהם באמצעות פקודות תכנות Go. הספרייה תומכת במיזוג תמונות מרובות לפי תבניות נתונות. הוא תומך במתקני מיזוג אופקי ומיזוג אנכי. כדי לשלב שתי תמונות אתה צריך לספק נתיב תמונה או כתובת URL נכונה ולאחר מכן, אתה יכול לבחור תבנית למיזוג התמונות אופקית או אנכית.
צילום תמונות דרך GO API
image1, _ := mergi.Import(impexp.NewFileImporter("./testdata/mergi_bg_1.png"))
image2, _ := mergi.Import(impexp.NewFileImporter("./testdata/mergi_bg_2.png"))
horizontalImage, _ := mergi.Merge("TT", []image.Image{image1, image2})
mergi.Export(impexp.NewFileExporter(horizontalImage, "horizontal.png"))
verticalImage, _ := mergi.Merge("TB", []image.Image{image1, image2})
mergi.Export(impexp.NewFileExporter(verticalImage, "vertical.png"))