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. Πρέπει να παρέχετε τη σωστή διαδρομή της εικόνας ή τη διεύθυνση URL της διαδρομής αρχείου. Στη συνέχεια, πρέπει να περάσετε τις Εικόνες σε έναν πίνακα και να εφαρμόσετε καθυστέρηση ανάλογα με τις ανάγκες σας. Στο τέλος, μπορείτε να εξαγάγετε το τελικό αποτέλεσμα μέσω ενός εξαγωγέα κινούμενων εικόνων για να λάβετε το αρχείο GIF που προκύπτει.
Πώς να δημιουργήσετε εικόνες μέσω Go API
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 τους με ευκολία. Χρησιμοποιώντας τη δυνατότητα Watermarking μπορούμε εύκολα να προστατέψουμε εικόνες μας από μη εξουσιοδοτημένη δημιουργία και διανομή αντιγράφων. Η βιβλιοθήκη υποστηρίζει την τοποθέτηση ενός λογότυπου καθώς και υδατογραφημάτων κειμένου χρησιμοποιώντας μερικές γραμμές κώδικα 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"))