"Je souhaite modifier le DPI avec Imagemagick sans changer la taille en octets réelle des données d'image."
C'est complètement impossible!
Car:
more "Dots per Inch"
<==> more pixels per area
<==> more total pixels per image
<==> more total bytes per image
En outre, vous ne semblez pas comprendre ce qu'est le DPI en réalité:
- C'est une valeur totalement abstraite qui n'a de valeur pratique que si vous connaissez également la taille absolue de l'impression ou du rendu à l'écran ou sur le moniteur:
- Vous pouvez "imprimer" la même image de 72x72 pixels sur un carré large d'un pouce: la résolution de l'impression sera de
72dpi
.
- Vous pouvez également l’imprimer sur un carré large de 1/4 de pouce: l’impression aura alors une résolution de
288dpi
.
- ( Remarque: si vous l’imprimez
288dpi
sur un carré de 1 pouce, ce n’est plus la même image: elle aura subi une extrapolation à travers le pilote de l’imprimante ou un autre mécanisme de filtrage, et sera devenue une image de 288x288 pixels au lieu de une image de 72x72 pixels ... )
- Les deux impressions auront exactement les mêmes informations d'image: l'image de 288 dpi n'aura pas soudainement plus d'informations.
Si vous souhaitez imprimer l'image d'origine de 72 x 72 pixels sous la forme d'un carré large d'un pouce, mais au lieu de 288dpi
, vous devrez redimensionner l'image (dans ce cas, en la redimensionnant). Pour chaque pixel de l'original, vous aurez besoin de 4 pixels de la nouvelle image redimensionnée. Maintenant, il existe différents algorithmes qui peuvent être utilisés pour calculer les valeurs de couleur que ces 4 pixels (dont 3 nouveaux pixels) doivent avoir:
- vous pouvez leur donner le même que le pixel d'origine (qui est un algorithme très "brut",
- ou vous pouvez faire une moyenne de la valeur de couleur du pixel d'origine avec les valeurs de couleur des pixels voisins.
Dans tous les cas, vous créez une image plus grande composée de 288 lignes de pixels de 288 pixels de haut (288x288 pixels).
Ce que Gimp fait pour vous lorsque vous passez par "Image -> Taille d'impression": cela simplifie le processus de calcul à nouveau des modifications requises dans les tailles de pixels absolues, ce qui le rend plus convivial. Dans ce but...
- ... il vous pose d’abord des questions sur le DPI car une imprimante donnée ne peut pas modifier sa résolution d’impression de manière arbitraire (certaines peuvent offrir non pas une, mais peut-être même 2 ou 3 résolutions différentes). Donc, il vous demande à quelle résolution vous souhaitez imprimer. C'est la première information.
- ... alors il demande également la deuxième pièce de l' info: au cours de laquelle la taille (en
cm
, mm
ou inch
) l'impression doit apparaître sur le papier.
En fonction de ces deux informations, Gimp calcule ensuite le nombre total de pixels qu’il doit utiliser (extrapoler à partir du nombre de pixels initial) pour remplir l’espace demandé à la résolution demandée.
Cependant, le fait de redimensionner une image raster en lui faisant contenir plus de pixels n’ajoute pas de véritables informations, mais ajoute simplement une "qualité" fictive. Cela peut sembler plus agréable à l'œil humain si votre algorithme de mise à l'échelle est «bon». Et cela aura l'air moche, si vous doublez, tripler ou quadrupler les pixels existants, comme le font certains algorithmes simples.
Pour les images raster,
le paramètre PPP n'est pertinent que dans le contexte de son impression ou de son affichage . Parce que les imprimantes ou les moniteurs ont donné des résolutions fixes. Par conséquent, c'est l'info que ...
- ... un pilote d'imprimante ou
- ... une application de traitement d'images prenant en charge l'impression
dois savoir.
Et la documentation d'ImageMagick est tout à fait en accord avec moi:
-density width
-density widthxheight
Définissez la résolution horizontale et verticale d'une image pour le rendu sur les périphériques.
Pour les images vectorielles ou les formats de fichier
(tels que PDF ou PostScript), le paramètre DPI est toutefois extrêmement important dans le contexte deleur tramage . Une résolution plus élevée transférera plus d'informations d'image dans le format de trame et préservera ainsi plus de détails de la qualité d'origine réelle. Lors de la conversion d'une image vectorielle d'une taille donnéemm
,cm
ouinch
en raster avec une résolution plus élevée, se traduira directement par un nombre plus élevé de pixels au total dans l'image.
En outre, ImageMagick ne prend pas en charge l'impression en tant que telle. Au lieu de cela, ImageMagick uniquement ...
- ... convertit les fichiers d'un format raster donné vers d'autres formats raster;
- ... ou réduit ou agrandit les images matricielles;
- ... ou change les valeurs de couleur selon un algorithme spécifique;
- ... ou il recadre les images, les superpose, les inverse, les reflète;
- ...et ainsi de suite....
... mais pour imprimer les images manipulées, vous devez utiliser un programme différent.
Certains formats d'image (TIFF, PNG, ...) prennent en charge l'enregistrement interne d'un paramètre DPI dans leurs métadonnées.
Mais il ne s'agit que d'un attribut «conseil» qui ne modifie pas l'image raster sous-jacente. C'est la raison pour laquelle vous avez fait cette découverte:
"Quand je vérifie le fichier, il reste le même."
Ce «conseil» peut éventuellement être évalué automatiquement par des pilotes d’imprimante ou par des programmes de création de pages tels que LaTeX. En l'absence de telles "indications" DPI (ou si elles ne se présentent pas comme prévu par LaTeX), il devrait toujours être possible de donner à LaTeX le droit de rendre toute image donnée sur une page comme on l'attend. to - il faut juste un peu plus de code LaTeX explicite autour de l'image!
Certains autres formats d'image (JPEG (?), BMP, ...) ne permettent même pas de stocker un indice DPI pour leurs métadonnées internes.
Donc, Gimp ne supporte que ce que vous voyez qu'il fait avec "Image -> Taille d'impression" parce qu'il veut imprimer une image. Avec ImageMagick, vous ne pouvez pas imprimer.
Continuez à faire ce que vous voulez faire avec Gimp lorsque vous imprimez. Cela n’a aucun sens avec ImageMagick.
Reportez-vous également à cet extrait de documentation de messagerie instantanée supplémentaire , qui explique le même sujet avec des termes différents.
Donc ce qui reste est ceci:
- Si vous "manipulez" votre image avec Gimp, puis intégrez le résultat dans LaTeX, la page ressemble à ce que vous attendez.
- Si vous "manipulez" votre image avec ImageMagick, puis intégrez le résultat dans LaTeX, la page ne ressemble pas à ce que vous attendiez.
Veuillez fournir les éléments suivants pour résoudre le problème ci-dessus:
- la version exacte de votre installation ImageMagick (sortie complète de
convert -version
and convert -list configure
);
- (un lien vers une) image échantillon originale;
- (un lien vers) la même image manipulée par Gimp;
- (un lien vers) la même image manipulée par ImageMagick.
De cette façon, nous pouvons aider à résoudre le problème.
Mais remarque: il s'agit d'un problème différent de celui de votre sujet / titre actuel: "Je souhaite modifier le DPI avec Imagemagick sans modifier la taille en octets réelle des données d'image".
Mise à jour
Comme certains lecteurs ne savent toujours pas ce que j'ai noté ci-dessus, voici une autre tentative ...
Tout ce qui est noté comme "Résolution" ou "Densité" dans un fichier image est un attribut de métadonnées . Cela n'a aucune influence sur le nombre de pixels réels décrits par le fichier et n'a aucune pertinence à cet égard. C'est simplement un indice qu'un périphérique d'impression ou de rendu ou une application peut ou non suivre lors de l'impression, du rendu ou de l'affichage de l'image.
À cette fin, il ne s’agit que de quelques chiffres stockés dans le fichier image. Ces chiffres indiquent aux périphériques de sortie tels que les imprimantes et affichent combien de points (ou pixels) par pouce l'image doit être affichée. Pour les formats vectoriels tels que PostScript, PDF, MWF et SVG, il indique l’échelle de pixel pour dessiner les coordonnées du monde réel utilisées par l’image.
Adobe Photoshop est un exemple dans lequel la valeur de résolution indiquée par ImageMagick dans les métadonnées de l'image n'est PAS honorée par une application. Photoshop stocke ses astuces sur la résolution d'impression ou d'affichage souhaitée dans un profil propriétaire nommé 8bim . ImageMagick ne touche pas ce profil, même lorsqu'il vous est demandé d'écrire un changement de résolution dans les métadonnées d'un fichier image. D'autre part, Photoshop ignorera toutes les astuces de résolution stockées par ImageMagick dans le champ de métadonnées par ailleurs standard défini à cet effet dès qu'il verra son propre profil 8bim .
Le PO aurait dû choisir la rubrique:
- "Je souhaite modifier l'indice de résolution DPI (métadonnées) avec ImageMagick sans modifier le nombre réel de pixels dans l'image"
afin d'éviter tout malentendu ...
^
icône à gauche de sa réponse), pas seulement «l'accepter» dès que vous avez assez de réputation personnelle (je pense que vous avez besoin +15) ...