1. Produkti
  2.   Attēls
  3.   GO
  4.   Picfit
 
  

Atvērtā pirmkoda attēlu izmēru maiņas serveris, kas nodrošina ātrāku apstrādi

Picfit ir Pure Go izstrādāts attēlu izmēru maiņas serveris, kas rūpējas par daļu no attēlu apstrādes uzglabāšanas neatkarīgi no izmantotās krātuves programmas.

Attēlu apstrāde, jo īpaši izmēru maiņa, var būt ilgs process, ja jūsu attēls tiek glabāts dažādos dzinējos, jo var paiet laiks, līdz lietojumprogramma noņem iemiesojumu kodus un izvairās no sinhroniem izsaukumiem, lai izgūtu ģenerēto attēlu.

Picfit atrisina šīs problēmas, darbojoties kā starpniekserveris starp jūsu krātuves programmu un HTTP kešatmiņas sistēmu. Lai gan tas ir bez maksas lejupielādējams, atvērts avots un nodrošina ātrāku apstrādi, tas arī ļauj izvairīties no viena attēla ģenerēšanas divreiz un aizņem pārāk daudz vietas.

Varat saglabāt attēlus Amazon S3, DigitalOcean S3, savā failu sistēmā un citur.

Previous Next

Darba sākšana ar Picfit

Vienkāršākais un ieteicamākais Picfit instalēšanas veids ir GitHub. Lūdzu, izmantojiet šo komandu, lai instalēšana būtu vienkārša un vienmērīga.

Instalējiet Picfit, izmantojot GitHub

 git clone https://github.com/thoas/picfit.git

Mainiet attēlu izmērus, izmantojot bezmaksas GO bibliotēku

Atvērtā koda picfit bibliotēka ļauj programmatūras izstrādātājiem programmatiski mainīt attēlu izmērus savā lietojumprogrammā, izmantojot komandas Go. Viena no Picfit galvenajām funkcijām ir iespēja mainīt attēlu izmērus atbilstoši jūsu izvēlētajam augstumam un platumam. Vienkārši norādiet w (vēlamā attēla platuma) un h (vēlamā attēla augstuma) vērtības.  

Mainiet attēla izmērus, izmantojot bezmaksas GO bibliotēku

 func (e *GoImageEngine) Resize(img *imagefile.ImageFile, width int, height int, options *Options) ([]byte, error) {
	if options.Format == imaging.GIF {
		content, err := e.TransformGIF(img, width, height, options, imaging.Resize)
		if err != nil {
			return nil, err
		}
		return content, nil
	}
	image, err := e.Source(img)
	if err != nil {
		return nil, err
	}
	return e.resize(image, width, height, options)
}

Bezmaksas Go Library, lai ģenerētu sīktēlus

Varat izmantot šo funkciju, lai ģenerētu jaunu attēlu ar atkārtoti atlasītu filtru, kas palielināts vai samazināts, un apgrieztu to līdz noteiktam augstumam un platumam. Arī šajā funkcijā jums ir jānorāda w un h vērtības.

Kā ģenerēt GIF sīktēlus GO Apps?

func (e *GoImageEngine) Thumbnail(img *imagefile.ImageFile, width int, height int, options *Options) ([]byte, error) {
	if options.Format == imaging.GIF {
		content, err := e.TransformGIF(img, width, height, options, imaging.Thumbnail)
		if err != nil {
			return nil, err
		}
		return content, nil
	}
	image, err := e.Source(img)
	if err != nil {
		return nil, err
	}
	return e.thumbnail(image, width, height, options)
}

Atgūt attēla informāciju, izmantojot Go API

Papildus izmēra maiņas funkcijām, Picfit ir arī dažas svarīgas funkcijas faila informācijas izgūšanai, piemēram, Get, kā arī glabāšanas vai augšupielādes komandas. Izmantojot funkciju Get, jūs iegūsit šādus parametrus:

  • Faila nosaukums: ģenerētā faila nosaukums
  • Ceļš: tas būs jūsu ģenerētā faila ceļš jūsu krātuves programmā
  • URL: ja ir bāzes_url, jūs saņemsit pilnu sava ģenerētā faila URL
 Latviski