Ga naar API voor op HTTP gebaseerde beeldverwerking
Open Source Go-bibliotheek die ondersteuning biedt voor online slim bijsnijden, afbeeldingen omdraaien of roteren, miniatuurafbeeldingen maken, zoomen op afbeeldingen, watermerken toevoegen aan PNG, WEBP, TIFF, PDF, GIF en SVG, enz.
Het denkbeeldige is een zeer krachtige open source HTTP-gebaseerde Go API voor beeldverwerking die softwareontwikkelaars de kracht geeft om geavanceerde beeldbewerkingen uit te voeren via private of openbare HTTP-services met minder afhankelijkheid. Het ondersteunt geavanceerde bewerkingen zoals API-tokenautorisatie, URL-handtekeningbeveiliging, HTTP-verkeersbeperkingsstrategie en CORS-ondersteuning voor webclients. De bibliotheek kan afbeeldingen lezen van HTTP POST-payloads, lokale serverpaden of externe HTTP-servers.
The imaginary is een krachtige en stabiele bibliotheek die bovenop libvips is gebouwd voor een snelle en efficiënte beeldverwerking. De bibliotheek biedt ondersteuning voor afbeeldingsindelingen zoals JPEG, PNG, HEIF, WEBP, TIFF, PDF, GIF en SVG-indelingen, evenals transparante conversie over deze indelingen. Het heeft volledige ondersteuning geboden voor Docker & Fly.io. Het mooie van Fly is dat het de latentie kan verminderen en betere praktijken kan bieden door verkeer dicht bij de locatie van uw gebruiker te leveren.
De denkbeeldige bibliotheek biedt volledige ondersteuning voor verschillende belangrijke functies met betrekking tot het maken, converteren en manipuleren van afbeeldingen, zoals het vergroten of verkleinen van afbeeldingen, het bijsnijden van afbeeldingen, slim bijsnijden, afbeeldingen roteren, AutoRotate met verdere afbeeldingstransformaties, automatisch spiegelen op basis van EXIF-metadata, afbeelding flop, afbeeldingen zoomen, miniaturen van afbeeldingen maken, afbeeldingen aanpassen, een afbeelding insluiten of uitbreiden, een watermerkafbeelding toevoegen, vervagingseffecten aan een afbeelding toevoegen en nog veel meer.
Aan de slag met denkbeeldig
De eenvoudigste en aanbevolen manier om imaginary te installeren, is via GitHub.
Installeer denkbeeldig via GitHub
go get -u github.com/h2non/imaginary
Converteer afbeeldingen naar andere formaten via Go
De denkbeeldige open-source API-bibliotheek biedt ondersteuning voor het gemakkelijk converteren van uw afbeeldingen naar andere ondersteunde bestandsindelingen. U kunt afbeeldingen opslaan in een aantal zeer handige indelingen zoals JPEG-, PNG- en WEBP-indelingen. De bibliotheek heeft conversieondersteuning geboden met extra kwaliteits- en compressie-instellingen. U hoeft alleen de juiste afbeeldingsnaam, het adres en het conversieformaat op te geven en de bibliotheek zal het gemakkelijk voor u converteren met slechts een paar Go-commando's.
Convert Image via Imaginary bibliotheek
func Convert(buf []byte, o ImageOptions) (Image, error) {
if o.Type == "" {
return Image{}, NewError("Missing required param: type", http.StatusBadRequest)
}
if ImageType(o.Type) == bimg.UNKNOWN {
return Image{}, NewError("Invalid image type: "+o.Type, http.StatusBadRequest)
}
opts := BimgOptions(o)
return Process(buf, opts)
}
Online afbeeldingen bijsnijden via Go
Met de denkbeeldige open source-bibliotheek kunnen softwareontwikkelaars hun afbeeldingen online bijsnijden met slechts een paar regels Go-code in hun eigen applicaties. U kunt uw afbeelding bijsnijden door een aangepaste breedte of hoogte op te geven. De bibliotheek maakt uw werk gemakkelijk door de beeldverhouding te behouden. De bibliotheek ondersteunt ook het bijsnijden van de afbeelding met behulp van het ingebouwde libvips-algoritme voor slim bijsnijden. U kunt ook het beeldcompressieniveau voor PNG-afbeeldingen definiëren en uw afbeeldingen gemakkelijk omdraaien, floppen en roteren.
Vertaling:
{
"operation": "crop",
"params": {
"width": 500,
"height": 300
}
Pas het formaat van afbeeldingen aan
De gratis denkbeeldige bibliotheek biedt ondersteuning voor het aanpassen van het formaat van afbeeldingen zodat ze passen met behulp van Go-opdrachten in hun apps. U kunt het formaat van een afbeelding eenvoudig aanpassen aan de breedte en hoogte, zonder bij te snijden. De bibliotheek maakt uw werk gemakkelijk door de beeldverhouding te behouden. De breedte en hoogte specificeren een maximaal begrenzingsvak voor de afbeelding.
Vertaling:
func Resize(buf []byte, o ImageOptions) (Image, error) {
if o.Width == 0 && o.Height == 0 {
return Image{}, NewError("Missing required param: height or width", http.StatusBadRequest)
}
opts := BimgOptions(o)
opts.Embed = true
if o.IsDefinedField.NoCrop {
opts.Crop = !o.NoCrop
}
return Process(buf, opts)
}
Roteer en draai uw afbeeldingen automatisch
De gratis denkbeeldige bibliotheek biedt functionaliteit om uw afbeeldingen gemakkelijk te roteren. Het heeft ook een zeer handige functie voor het automatisch draaien van afbeeldingen in Go-applicaties. Het roteert automatisch de afbeelding zonder verdere beeldtransformaties op basis van EXIF-oriëntatiemetadata. De AutoRotate-methode produceert een nieuwe afbeelding met dezelfde grootte en indeling als de invoerafbeelding.
Auto-Rotate Image via Free Go bibliotheek
func AutoRotate(buf []byte, o ImageOptions) (out Image, err error) {
defer func() {
if r := recover(); r != nil {
switch value := r.(type) {
case error:
err = value
case string:
err = errors.New(value)
default:
err = errors.New("libvips internal error")
}
out = Image{}
}
}