Serveur de redimensionnement d'image open source offrant un traitement plus rapide
Picfit est un serveur de redimensionnement d'image développé dans Pure Go qui prend en charge la partie stockage du traitement d'image quel que soit le moteur de stockage utilisé.
Le traitement de l'image, en particulier la résidence, peut être un long processus si votre image est stockée sur différents moteurs, car il peut prendre du temps pour l'application d'enlever les codes d'avatars et éviter les appels synchrones.
Picfit résout ces problèmes en agissant comme un proxy entre votre moteur de stockage et le système de cache HTTP. Bien qu'il soit gratuit à télécharger, open source et offre un traitement plus rapide, il évite également de générer deux fois la même image et de prendre trop de place.
Vous pouvez stocker des images sur Amazon S3, DigitalOcean S3, votre système de fichiers et plus encore.
Premiers pas avec Picfit
Le moyen le plus simple et le plus recommandé d'installer Picfit est via GitHub. Veuillez utiliser la commande suivante pour une installation facile et fluide.
Installer Picfit via GitHub
git clone https://github.com/thoas/picfit.git
Redimensionner les images via la bibliothèque GO gratuite
La bibliothèque open source picfit permet aux développeurs de logiciels de redimensionner par programmation des images dans leur propre application à l'aide des commandes Go. L'une des principales fonctions de Picfit est la possibilité de redimensionner les images en fonction de la hauteur et de la largeur de votre choix. Indiquez simplement les valeurs w (largeur de l'image souhaitée) et h (hauteur de l'image souhaitée).
Redimensionner l'image via la bibliothèque GO gratuite
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)
}
Bibliothèque Go gratuite pour générer des vignettes
Vous pouvez utiliser cette fonction pour générer une nouvelle image avec un filtre rééchantillonné mis à l'échelle vers le haut ou vers le bas, et la rogner à une hauteur et une largeur spécifiées. Encore une fois dans cette fonction, vous devez fournir les valeurs w et h.
Comment générer des vignettes GIF dans 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)
}
Récupération des informations d'image via l'API Go
Outre les fonctions de redimensionnement, Picfit dispose également de fonctions importantes pour récupérer des informations sur les fichiers telles que Get, ainsi que des commandes de stockage ou de téléchargement. Avec la fonction Get, vous obtiendrez les paramètres suivants :
- Nom du fichier : nom du fichier généré
- Path : ce sera le chemin de votre fichier généré sur votre moteur de stockage
- URL : si la base_url est présente alors vous recevrez une URL complète de votre fichier généré