Manipulation d'images

La manipulation d'images est un art qui consiste à transformer une image de la manière dont vous souhaitez qu'elle soit exposée, plutôt que de la manière dont l'image originale est exposée.

Dans les applications liées aux rails, la manipulation doit être effectuée lors du téléchargement de l'image en fonction des exigences de l'application, comme l'arrière-plan, la couleur et la taille, ce qui donne un aspect unique aux applications.

Nous pouvons y parvenir en utilisant ImageMagick. 

  • ImageMagick est une suite logicielle permettant de créer, d'éditer, de composer ou de convertir des images bitmap.
  • ImageMagick permet de redimensionner, retourner, refléter, faire pivoter, déformer, cisailler et transformer des images, d'ajuster leurs couleurs, d'appliquer divers effets spéciaux ou de dessiner du texte, des lignes, des polygones, des ellipses et des courbes de Bézier.

Caractéristiques d'ImageMagick : 

  • Conversion de format: convertir une image d'un format à un autre (par exemple de PNG à JPEG).
  • Transformer: redimensionner, faire pivoter, recadrer, retourner ou découper une image.
  • TransparenceLes images de l'image : rendent des parties de l'image invisibles.
  • Dessiner: ajouter des formes ou du texte à une image.
  • Décorer: ajouter une bordure ou un cadre à une image.
  • Effets spéciaux: flou, netteté, seuil ou teinte d'une image.
  • Animation: créer une séquence d'animation GIF à partir d'un groupe d'images.
  • Texte et commentaires: insérer un texte descriptif ou artistique dans une image.
  • Identification des imagesLes images : elles décrivent le format et les attributs d'une image.
  • Composite: superposition d'une image sur une autre.
  • MontageLes images : juxtaposer des vignettes d'images sur un canevas d'image.

Ajoutez la gem rmagick pour ruby ou rmagick4j pour jruby dans votre fichier gem.

En utilisant paperclip convert_options, nous pouvons donner des options pour la couleur de fond, la couleur de la bordure, la qualité, le redimensionnement, l'ombre, etc,

Recadrage de l'image :

Est mis en œuvre à l'aide de trombone et jcrop

Nous pouvons appeler directement jcrop en utilisant id/class. Nous obtiendrons alors la nouvelle hauteur et la nouvelle largeur.

$(function() {

$('#cropbox').Jcrop() ;

});

Pour la taille de recadrage par défaut

$(function() {

$('#cropbox').Jcrop({

onChange : update_crop,

onSelect : update_crop,

setSelect : [0, 0, 500, 500],

aspectRatio : 1

});

});

Pour la mise à jour de la taille des cultures

function update_crop(coords) {

$('#crop_x').val(coords.x) ;

$('#crop_y').val(coords.y) ;

$('#crop_w').val(coords.w) ;

$('#crop_h').val(coords.h) ;

}

Référence: http://railscasts.com/episodes/182-cropping-images?view=asciicast

Image de fond :

Dans notre modèle, nous pouvons ajouter l'option convert_option pour le champ image et nous pouvons définir la couleur requise comme arrière-plan.

Par exemple, le rose.

:convert_options => {

:all => '-background HotPink -alpha Background'

}

Validation de la dimension des images :

En utilisant Paperclip::Geometry, nous pouvons fixer la largeur et la hauteur de l'image à une certaine valeur.

def file_dimensions(width = 100, height = 100)

dimensions = Paperclip::Geometry.from_file(photo.queued_for_write[:original].path)

sauf si dimensions.width < width && dimensions.height < height

errors.add :photo, "La largeur doit être de #{largeur}px et la hauteur de #{hauteur}px"

fin

fin

Référence:http://stackoverflow.com/questions/5454561/rails-paperclip-how-to-check-the-image-dimensions-before-saving

Résolution de l'image :

Nous pouvons définir la résolution de l'image en utilisant l'option convert_options → quality.

Cette option permet uniquement de définir la résolution.

:convert_options => {

:all => '-qualité 75'

}

La qualité peut être réglée dans une fourchette de 0 à 100.

Référence:

http://www.imagemagick.org/script/command-line-options.php

http://www.imagemagick.org/script/convert.php

Note conclusive :

La manipulation d'images est donc utile pour transformer les images selon les besoins de l'utilisateur et lui donner l'impression que ses applications ou ses images sont encore plus attrayantes.

Il permet de recadrer, de faire pivoter et de redimensionner les images en fonction de nos besoins et présente un large éventail d'applications à l'heure actuelle.

En savoir plus :

Avec des solutions ingénieuses, des valeurs commerciales progressistes et une expérience éprouvée, RailsCarma est le mieux adapté pour vous aider avec tous vos besoins de développement. Notre processus de développement repose en grande partie sur une attention constante aux détails, notamment la qualité, le design et l’excellence. Nous transformons vos idées en réalité. Connectez-vous à nous via notre Contactez-nous page.

Manasa Heggere
 
Développeur senior Ruby on Rails

Abonnez-vous pour les dernières mises à jour

Articles Similaires

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrench