Atlasiet API, lai izmantotu HTTP balstītu attēlu apstrādi
Atvērtā pirmkoda Go bibliotēka, kas atbalsta viedo apgriešanu tiešsaistē, attēlu apvēršanu vai pagriešanu, attēlu sīktēlu izveidi, attēlu tālummaiņu, ūdenszīmes pievienošanu PNG, WEBP, TIFF, PDF, GIF un SVG failiem utt.
Iedomātā ir ļoti jaudīga atvērtā pirmkoda HTTP balstīta attēlu apstrādes Go API, kas programmatūras izstrādātājiem sniedz iespēju veikt uzlabotas attēlu darbības, izmantojot privātus vai publiskos HTTP pakalpojumus ar mazāku atkarību. Tā atbalsta uzlabotas darbības, piemēram, API pilnvaru autorizāciju, URL paraksta aizsardzību, HTTP trafika droseles stratēģiju un CORS atbalstu tīmekļa klientiem. Bibliotēka var lasīt attēlus no HTTP POST lietderīgajām slodzēm, servera lokālajiem ceļiem vai attāliem HTTP serveriem.
Iedomātā ir jaudīga un stabila bibliotēka, kas veidota, izmantojot libvips ātru un efektīvu attēlu apstrādi. Bibliotēka ir iekļāvusi atbalstu attēlu formātiem, piemēram, JPEG, PNG, HEIF, WEBP, TIFF, PDF, GIF un SVG formātiem, kā arī caurspīdīgu konvertēšanu starp tiem. Tas ir nodrošinājis pilnīgu Docker & Fly.io atbalstu. Fly lieliskā iezīme ir tā, ka tā var samazināt latentumu un nodrošināt labāku praksi, apkalpojot satiksmi tuvu jūsu lietotāja atrašanās vietai.
Iedomātā bibliotēka pilnībā atbalsta vairākas svarīgas funkcijas, kas saistītas ar attēlu izveidi, konvertēšanu un manipulācijām, piemēram, attēla izmēru maiņa, attēlu palielināšana, attēlu apgriešana, viedā apgriešana, attēlu pagriešana, automātiskā pagriešana ar turpmākām attēlu transformācijām, automātiska apvēršana, pamatojoties uz EXIF metadatiem, attēls flop, tuviniet attēlus, izveidojiet attēlu sīktēlus, ietilpiniet attēlus, ieguliet vai pagariniet attēlu, pievienojiet ūdenszīmes attēlu, pievienojiet attēlam izplūšanas efektus un daudz ko citu.
Darba sākšana ar iedomātu
Vienkāršākais un ieteicamākais veids, kā instalēt iedomātu, ir caur GitHub.
Instalējiet iedomātu, izmantojot GitHub
go get -u github.com/h2non/imaginary
Pārveidojiet attēlus citos formātos, izmantojot Go
Atvērtā koda API iedomātajā bibliotēkā ir iekļauts atbalsts attēlu vienkāršai konvertēšanai citos atbalstītos failu formātos. Varat saglabāt attēlus dažos ļoti noderīgos formātos, piemēram, JPEG, PNG un WEBP formātos. Bibliotēka ir nodrošinājusi konvertēšanas atbalstu ar papildu kvalitātes un saspiešanas iestatījumiem. Jums vienkārši jānorāda pareizais attēla nosaukums, adrese un konvertēšanas formāts, un bibliotēka to viegli konvertēs, veicot tikai dažas Go komandas.
Konvertējiet attēlu, izmantojot iedomātu bibliotēku
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)
}
Tiešsaistes attēlu apgriešana, izmantojot Go
Atvērtā pirmkoda iedomātā bibliotēka ļauj programmatūras izstrādātājiem tiešsaistē apgriezt attēlus, izmantojot tikai dažas Go koda rindiņas savās lietojumprogrammās. Varat apgriezt attēlu, norādot pielāgotu platumu vai augstumu. Bibliotēka atvieglo jūsu darbu, saglabājot attēla attiecību. Bibliotēka atbalsta arī attēla apgriešanu, izmantojot libvips iebūvēto viedās apgriešanas algoritmu. Varat arī definēt attēlu saspiešanas līmeni PNG attēliem un viegli apvērst, apgāzt un pagriezt attēlus.
Attēlu apgriešana, izmantojot Go Library
{
"operation": "crop",
"params": {
"width": 500,
"height": 300
}
Mainiet attēlu izmērus, lai tie ietilptu
Bezmaksas iedomātajā bibliotēkā ir iekļauts atbalsts attēlu izmēru maiņai, lai tie ietilptu, izmantojot programmas Go komandas. Varat viegli mainīt attēla izmēru, lai tas atbilstu platumam un augstumam, bez apgriešanas. Bibliotēka atvieglo jūsu darbu, saglabājot attēla malu attiecību. Platums un augstums norāda attēla maksimālo robežlodziņu.
Mainiet attēla izmēru, izmantojot Free Go bibliotēku
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)
}
Pagrieziet un automātiski pagrieziet savus attēlus
Bezmaksas iedomātā bibliotēka ir nodrošinājusi funkcionalitāti ērtai attēlu pagriešanai. Tajā ir iekļauta arī ļoti noderīga funkcija attēlu automātiskai pagriešanai Go lietojumprogrammās. Tas automātiski pagriež attēlu bez turpmākām attēla transformācijām, pamatojoties uz EXIF orientācijas metadatiem. AutoRotate metode rada jaunu attēlu ar tādu pašu izmēru un formātu kā ievades attēlam.
Automātiski pagriezt attēlu, izmantojot Free Go bibliotēku
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{}
}
}