{"id":6501,"date":"2015-01-06T03:59:08","date_gmt":"2015-01-06T03:59:08","guid":{"rendered":"https:\/\/dev.railscarma.com\/image-manipulation\/"},"modified":"2025-03-18T03:57:47","modified_gmt":"2025-03-18T03:57:47","slug":"manipulation-dimages","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/manipulation-dimages\/","title":{"rendered":"Manipulation d&#039;images"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"6501\" class=\"elementor elementor-6501\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-11000c7f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"11000c7f\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-56f6c4ad\" data-id=\"56f6c4ad\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7e2423ef elementor-widget elementor-widget-text-editor\" data-id=\"7e2423ef\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: justify;\"><span style=\"font-size: medium;\">La manipulation d'images est un art qui consiste \u00e0 transformer une image de la mani\u00e8re dont vous souhaitez qu'elle soit expos\u00e9e, plut\u00f4t que de la mani\u00e8re dont l'image originale est expos\u00e9e.<\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"> Dans les applications li\u00e9es aux rails, la manipulation doit \u00eatre effectu\u00e9e lors du t\u00e9l\u00e9chargement de l'image en fonction des exigences de l'application, comme l'arri\u00e8re-plan, la couleur et la taille, ce qui donne un aspect unique aux applications.<\/span><\/p><p style=\"text-align: justify;\"><span style=\"color: #000000;\"><strong><span style=\"font-size: medium;\">Nous pouvons y parvenir en utilisant ImageMagick.\u00a0<\/span><\/strong><\/span><\/p><ul style=\"text-align: justify;\"><li><span style=\"font-size: medium;\">ImageMagick est une suite logicielle permettant de cr\u00e9er, d'\u00e9diter, de composer ou de convertir des images bitmap.<\/span><\/li><\/ul><ul style=\"text-align: justify;\"><li><span style=\"font-size: medium;\">ImageMagick permet de redimensionner, retourner, refl\u00e9ter, faire pivoter, d\u00e9former, cisailler et transformer des images, d'ajuster leurs couleurs, d'appliquer divers effets sp\u00e9ciaux ou de dessiner du texte, des lignes, des polygones, des ellipses et des courbes de B\u00e9zier.<\/span><\/li><\/ul><p style=\"text-align: justify;\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\"><b>Caract\u00e9ristiques d'ImageMagick :\u00a0<\/b><\/span><\/span><\/p><ul style=\"text-align: justify;\"><li><span style=\"font-size: medium;\"><b>Conversion de format<\/b>: convertir une image d'un format \u00e0 un autre (par exemple de PNG \u00e0 JPEG). <\/span><\/li><li><span style=\"font-size: medium;\"><b>Transformer<\/b>: redimensionner, faire pivoter, recadrer, retourner ou d\u00e9couper une image. <\/span><\/li><li><span style=\"font-size: medium;\"><b>Transparence<\/b>Les images de l'image : rendent des parties de l'image invisibles. <\/span><\/li><li><span style=\"font-size: medium;\"><b>Dessiner<\/b>: ajouter des formes ou du texte \u00e0 une image. <\/span><\/li><li><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: medium;\"><b>D\u00e9corer<\/b>: ajouter une bordure ou un cadre \u00e0 une image. <\/span><\/span><\/li><li><span style=\"font-size: medium;\"><b>Effets sp\u00e9ciaux<\/b>: flou, nettet\u00e9, seuil ou teinte d'une image. <\/span><\/li><li><span style=\"font-size: medium;\"><b>Animation<\/b>: cr\u00e9er une s\u00e9quence d'animation GIF \u00e0 partir d'un groupe d'images. <\/span><\/li><li><span style=\"font-size: medium;\"><b>Texte et commentaires<\/b>: ins\u00e9rer un texte descriptif ou artistique dans une image. <\/span><\/li><li><span style=\"font-size: medium;\"><b>Identification des images<\/b>Les images : elles d\u00e9crivent le format et les attributs d'une image. <\/span><\/li><li><span style=\"font-size: medium;\"><b>Composite<\/b>: superposition d'une image sur une autre. <\/span><\/li><li><span style=\"font-size: medium;\"><b>Montage<\/b>Les images : juxtaposer des vignettes d'images sur un canevas d'image.<\/span><\/li><\/ul><p style=\"text-align: justify;\"><span style=\"font-size: medium;\">Ajoutez la gem rmagick pour ruby ou rmagick4j pour jruby dans votre fichier gem.<\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\">En utilisant paperclip convert_options, nous pouvons donner des options pour la couleur de fond, la couleur de la bordure, la qualit\u00e9, le redimensionnement, l'ombre, etc,<\/span><\/p><p>If you are looking for a\u00a0<a class=\"c-link c-link--underline\" href=\"https:\/\/picsart.com\/background-changer\/\" target=\"_blank\" rel=\"noopener noreferrer\" data-stringify-link=\"https:\/\/picsart.com\/background-changer\/\" data-sk=\"tooltip_parent\">background changer<\/a>, these options allow you to modify the background seamlessly to match your desired style.<\/p><p style=\"text-align: justify;\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\"><b>Recadrage de l'image :<\/b><\/span><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\">Est mis en \u0153uvre \u00e0 l'aide de <i><b>trombone<\/b><\/i> et <i><b>jcrop<\/b><\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\">Nous pouvons appeler directement jcrop en utilisant id\/class. Nous obtiendrons alors la nouvelle hauteur et la nouvelle largeur.<\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>$(function() { <\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>$('#cropbox').Jcrop() ; <\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>});<\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"color: #008000;\"><span style=\"font-size: medium;\"><i><b>Pour la taille de recadrage par d\u00e9faut<\/b><\/i><\/span><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>$(function() { <\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>$('#cropbox').Jcrop({ <\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>onChange : update_crop, <\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>onSelect : update_crop, <\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>setSelect : [0, 0, 500, 500], <\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>aspectRatio : 1 <\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>}); <\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>});<\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\"><i><b>Pour la mise \u00e0 jour de la taille des cultures<\/b><\/i><\/span><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>function update_crop(coords) { <\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>$('#crop_x').val(coords.x) ; <\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>$('#crop_y').val(coords.y) ; <\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>$('#crop_w').val(coords.w) ; <\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>$('#crop_h').val(coords.h) ; <\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>}<\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><b>R\u00e9f\u00e9rence:<\/b><\/span><a href=\"http:\/\/railscasts.com\/episodes\/182-cropping-images?view=asciicast\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-size: medium;\"> http:\/\/railscasts.com\/episodes\/182-cropping-images?view=asciicast<\/span><\/a><\/p><p style=\"text-align: justify;\"><b style=\"font-size: medium; font-style: inherit; color: #000000;\">Image de fond :<\/b><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\">Dans notre mod\u00e8le, nous pouvons ajouter l'option convert_option pour le champ image et nous pouvons d\u00e9finir la couleur requise comme arri\u00e8re-plan.<\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\">Par exemple, le rose.<\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>:convert_options =&gt; {<\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>:all =&gt; '-background HotPink -alpha Background'<\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>}<\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\"><b>Validation de la dimension des images :<\/b><\/span><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\">En utilisant Paperclip::Geometry, nous pouvons fixer la largeur et la hauteur de l'image \u00e0 une certaine valeur.<\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>def file_dimensions(width = 100, height = 100)<\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>dimensions = Paperclip::Geometry.from_file(photo.queued_for_write[:original].path)<\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>sauf si dimensions.width &lt; width &amp;&amp; dimensions.height &lt; height<\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>errors.add :photo, \"La largeur doit \u00eatre de #{largeur}px et la hauteur de #{hauteur}px\"<\/i><\/span><\/p><p><span style=\"font-size: medium;\"><i>fin<\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>fin<\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><span style=\"font-size: medium;\">R\u00e9f\u00e9rence:<a href=\"http:\/\/stackoverflow.com\/questions\/5454561\/rails-paperclip-how-to-check-the-image-dimensions-before-saving\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/stackoverflow.com\/questions\/5454561\/rails-paperclip-how-to-check-the-image-dimensions-before-saving<\/a><\/span><\/span><\/p><p style=\"text-align: justify;\"><b>R\u00e9solution de l'image :<\/b><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\">Nous pouvons d\u00e9finir la r\u00e9solution de l'image en utilisant l'option convert_options \u2192 quality.<\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\">Cette option permet uniquement de d\u00e9finir la r\u00e9solution.<\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>:convert_options =&gt; {<\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>:all =&gt; '-qualit\u00e9 75'<\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><i>}<\/i><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\">La qualit\u00e9 peut \u00eatre r\u00e9gl\u00e9e dans une fourchette de 0 \u00e0 100.<\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\"><b>R\u00e9f\u00e9rence:<\/b><\/span><\/p><p style=\"text-align: justify;\"><a href=\"http:\/\/www.imagemagick.org\/script\/command-line-options.php\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-family: Arial,sans-serif;\"><span style=\"font-size: medium;\"><span style=\"font-size: medium;\">http:\/\/www.imagemagick.org\/script\/command-line-options.php<\/span><\/span><\/span><\/a><\/p><p style=\"text-align: justify;\"><a href=\"http:\/\/www.imagemagick.org\/script\/convert.php\"><span style=\"font-size: medium;\">http:\/\/www.imagemagick.org\/script\/convert.php<\/span><\/a><\/p><p style=\"text-align: justify;\"><span style=\"color: #000000;\"><strong><span style=\"font-size: medium;\">Note conclusive :<\/span><\/strong><\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\">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. <\/span><\/p><p style=\"text-align: justify;\"><span style=\"font-size: medium;\">Il permet de recadrer, de faire pivoter et de redimensionner les images en fonction de nos besoins et pr\u00e9sente un large \u00e9ventail d'applications \u00e0 l'heure actuelle.<\/span><\/p><p style=\"text-align: justify;\">En savoir plus :<\/p><ul><li><a href=\"\/fr\/blog\/rails-3\/api-rails-dintroduction\/\" target=\"_blank\" rel=\"noopener noreferrer\">Une introduction \u00e0 l&#039;API Rails<\/a><\/li><li><a href=\"\/fr\/blog\/articles-techniques\/un-moyen-simple-daugmenter-les-performances-de-votre-application-rails-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">Un moyen simple d&#039;augmenter les performances de votre application Rails<\/a><\/li><li><a href=\"\/fr\/blog\/articles-techniques\/cadre-en-temps-reel\/\" target=\"_blank\" rel=\"noopener noreferrer\">Cadre en temps r\u00e9el<\/a><\/li><li><a href=\"\/fr\/blog\/articles-techniques\/installer-des-rails-ruby\/\" target=\"_blank\" rel=\"noopener noreferrer\">Comment installer Ruby sur Rails<\/a><\/li><\/ul><p>Avec des solutions ing\u00e9nieuses, des valeurs commerciales progressistes et une exp\u00e9rience \u00e9prouv\u00e9e<a href=\"https:\/\/www.railscarma.com\/fr\/contact\/\">,<\/a><strong><a href=\"https:\/\/www.railscarma.com\/fr\/\" target=\"_blank\" rel=\"noopener noreferrer\"> RailsCarma<\/a><\/strong> est le mieux adapt\u00e9 pour vous aider avec tous vos besoins de d\u00e9veloppement. Notre processus de d\u00e9veloppement repose en grande partie sur une attention constante aux d\u00e9tails, notamment la qualit\u00e9, le design et l\u2019excellence. Nous transformons vos id\u00e9es en r\u00e9alit\u00e9. Connectez-vous \u00e0 nous via notre\u00a0<a href=\"\/fr\/contactez-nous\/\" target=\"_blank\" rel=\"noopener noreferrer\">Contactez-nous<\/a> page.<\/p><div class=\"author-info\"><strong>Manasa Heggere <\/strong><\/div><div>\u00a0<\/div><div class=\"author-info\">D\u00e9veloppeur senior Ruby on Rails<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-14f16136 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"14f16136\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-75289f15\" data-id=\"75289f15\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4cd2801b elementor-widget elementor-widget-heading\" data-id=\"4cd2801b\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Abonnez-vous pour les derni\u00e8res mises \u00e0 jour<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4013b422 elementor-widget elementor-widget-shortcode\" data-id=\"4013b422\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"chargeur\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"d7f7626ab9\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"Adresse e-mail\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"Nom\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"S&#039;abonner\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"fr\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Articles Similaires<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Gemme de Kaminari\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/joyau-kaminari\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"joyau kaminari\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Gemme de Kaminari\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/joyau-kaminari\/?related_post_from=37277\">\r\n        Gemme de Kaminari  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Pourquoi engager des d\u00e9veloppeurs Ruby on Rails en 2026 ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/pourquoi-embaucher-des-developpeurs-ruby-on-rails\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"pourquoi embaucher des d\u00e9veloppeurs Ruby on Rails en 2022\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Pourquoi engager des d\u00e9veloppeurs Ruby on Rails en 2026 ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/pourquoi-embaucher-des-developpeurs-ruby-on-rails\/?related_post_from=30627\">\r\n        Pourquoi engager des d\u00e9veloppeurs Ruby on Rails en 2026 ?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/importance-de-larchitecture-logicielle-dans-le-developpement-de-logiciels-dentreprise\/?related_post_from=36250\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/importance-de-larchitecture-logicielle-dans-le-developpement-de-logiciels-dentreprise\/?related_post_from=36250\">\r\n        Importance de l&#039;architecture logicielle dans le d\u00e9veloppement de logiciels d&#039;entreprise  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE\u00a0: les meilleurs IDE pour le d\u00e9veloppement Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/ruby-ide-les-meilleures-idees-pour-le-developpement-de-ruby-on-rails\/?related_post_from=36125\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"MEILLEURES ID\u00c9ES POUR LE D\u00c9VELOPPEMENT DE RUBY ON RAILS\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Ruby IDE\u00a0: les meilleurs IDE pour le d\u00e9veloppement Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ror\/ruby-ide-les-meilleures-idees-pour-le-developpement-de-ruby-on-rails\/?related_post_from=36125\">\r\n        Ruby IDE\u00a0: les meilleurs IDE pour le d\u00e9veloppement Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>La manipulation d'images est un art qui consiste \u00e0 transformer une image de la mani\u00e8re dont vous souhaitez qu'elle soit expos\u00e9e, plut\u00f4t que de la mani\u00e8re dont l'image originale est expos\u00e9e. Dans les applications li\u00e9es aux rails, la manipulation doit \u00eatre effectu\u00e9e lors du t\u00e9l\u00e9chargement de l'image en fonction des exigences de l'application, telles que l'arri\u00e8re-plan, la couleur et la taille, ce qui donnerait ...<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ruby-regex-match-guide-with-examples\/\"> <span class=\"screen-reader-text\">Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples<\/span> Lire la suite \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":32061,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[612,613,614],"class_list":["post-6501","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles","tag-image","tag-image-manipulation","tag-imagemagick"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Image Manipulation - RailsCarma Blog<\/title>\n<meta name=\"description\" content=\"Image Manipulation is an art of transforming an image in a way you desire it to be exhibited as, rather than what the original image exhibits.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/manipulation-dimages\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Image Manipulation - RailsCarma Blog\" \/>\n<meta property=\"og:description\" content=\"Image Manipulation is an art of transforming an image in a way you desire it to be exhibited as, rather than what the original image exhibits.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/manipulation-dimages\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2015-01-06T03:59:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-18T03:57:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/image-manipulation.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Image Manipulation\",\"datePublished\":\"2015-01-06T03:59:08+00:00\",\"dateModified\":\"2025-03-18T03:57:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/\"},\"wordCount\":648,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/image-manipulation.jpg\",\"keywords\":[\"image\",\"image manipulation\",\"ImageMagick\"],\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/\",\"name\":\"Image Manipulation - RailsCarma Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/image-manipulation.jpg\",\"datePublished\":\"2015-01-06T03:59:08+00:00\",\"dateModified\":\"2025-03-18T03:57:47+00:00\",\"description\":\"Image Manipulation is an art of transforming an image in a way you desire it to be exhibited as, rather than what the original image exhibits.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/image-manipulation.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/image-manipulation.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Image Manipulation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Manipulation d'images - RailsCarma Blog","description":"La manipulation d'images est un art qui consiste \u00e0 transformer une image de la mani\u00e8re dont vous souhaitez qu'elle soit expos\u00e9e, plut\u00f4t que de la mani\u00e8re dont l'image originale est expos\u00e9e.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/manipulation-dimages\/","og_locale":"fr_FR","og_type":"article","og_title":"Image Manipulation - RailsCarma Blog","og_description":"Image Manipulation is an art of transforming an image in a way you desire it to be exhibited as, rather than what the original image exhibits.","og_url":"https:\/\/www.railscarma.com\/fr\/blog\/articles-techniques\/manipulation-dimages\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2015-01-06T03:59:08+00:00","article_modified_time":"2025-03-18T03:57:47+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/image-manipulation.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"\u00c9crit par":"admin","Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Image Manipulation","datePublished":"2015-01-06T03:59:08+00:00","dateModified":"2025-03-18T03:57:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/"},"wordCount":648,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/image-manipulation.jpg","keywords":["image","image manipulation","ImageMagick"],"articleSection":["Technical Articles"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/","url":"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/","name":"Manipulation d'images - RailsCarma Blog","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/image-manipulation.jpg","datePublished":"2015-01-06T03:59:08+00:00","dateModified":"2025-03-18T03:57:47+00:00","description":"La manipulation d'images est un art qui consiste \u00e0 transformer une image de la mani\u00e8re dont vous souhaitez qu'elle soit expos\u00e9e, plut\u00f4t que de la mani\u00e8re dont l'image originale est expos\u00e9e.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/image-manipulation.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/image-manipulation.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/image-manipulation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Image Manipulation"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails sp\u00e9cialis\u00e9e dans le d\u00e9veloppement offshore","description":"RailsCarma est une soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails \u00e0 Bangalore. Nous sommes sp\u00e9cialis\u00e9s dans le d\u00e9veloppement offshore Ruby on Rails, bas\u00e9s aux \u00c9tats-Unis et en Inde. Embauchez des d\u00e9veloppeurs Ruby on Rails exp\u00e9riment\u00e9s pour une exp\u00e9rience Web ultime.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"administrateur","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/6501","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/comments?post=6501"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/6501\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media\/32061"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media?parent=6501"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/categories?post=6501"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/tags?post=6501"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}