cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 2016
-
13 avril 2007 à 23:18
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 2009
-
17 avril 2007 à 20:55
Bonsoir à tous,
Je reviens vers vous, concernant toujours cette fameuse conversion....BMP to TIF
Le technicien du boulot, cherche maitenant à convertir le format standard de microsoft .bmp en RGB 24bits au format non standard CMYK 32 bits....ou l'inverse je ne sais plus très bien, il ma tellement donner des info techniques que je me suis perdu dans son language...
Auriez-vous une orientation à ce sujet ?
Pour connaître le début de la conversation voir ici
J'ai posté ce message, car j'ai supposé que tout les participants de l'ancien post avais enlevé leur alerte mail (ce qui est normal, puisque j'ai valider les réponses concernat ma première question)
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 14 avril 2007 à 10:01
Bonjour Exploreur,
Quoi qu'on pourra t'en dire ici et là ...
Tu n'obtiendras jamais une correspondance exacte de RGB (utilisé pour un affichage à l'écran et Basé sur une combinaison de Rouge, de vert et de Bleu) et CYMK (utilisé principalement pour les imprimantes et basé sur une combinaison des couleurs primaires)
Voilà un exemble : à gauche : RGB ===>> à droite : transposé en CYMK
Celà tient principalement au fait que le G (vert) de RGB est lui-même composé de M (magenta bleu primaire) et de Y (Yellow jaune primaire)
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 14 avril 2007 à 10:04
fait une recherche sur le forum, le sujet de la conversion RGB->CMJK est déjà passé il y a quelques mois, à plusieurs reprise en plus.
jmfmarques avait d'ailleurs bien animer le débat sur ce point. Il en connait un rayon semble-t-il. Il a même poster une source sur le traitement d'image , peut-etre y trouveras-tu quelques infos.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 14 avril 2007 à 10:11
Salut,
Il faut d'abord convertir le CMYK en CMY, ce qui est faisable vu la similitude avec le CMYK, puis ensuite le CMY en RGB, de 3 dimensions à 3 dimensions...
Alors, pour une couleur donnée tu as :
Dans l'espace CMYK ses composantes sont données par :
{C, M, Y, K}
Dans l'espace CMY tu obtiens
{C * (1 - K) + K, M * (1 - K) + K, Y * (1 - K) + K}
Appelons les {C', M', Y'}
Dans l'espace RGB, cette couleur sera donnée par
{1 - C', 1 - M', 1 - K'}
En remplacant ces constantes par leurs valeurs en CMYK, tu obtiens
{(1 - C)(1 - K), (1 - M)(1 - K), (1 - Y)(1 - K)}
Maintenant dans l'autre sens :Il suffit de faire l'opération inverse en posant que K Minimum(C', M', Y') avec la convention que si K 1, alors en CMYK la couleur est directement donnée par {0,0,0,1} (pour éviter la division par 0 dans la formule finale)
Tu obtiens :
{C', M', Y'} = {1 - R, 1 - G, 1 - B}
Et la couleur en CMYK est donnée par
{(C' - K) / (1 - K), (M' - K) / (1 - K), (Y' - K) / (1 - K), K}
<hr size="2" width="100%" />Julien.
Vous n’avez pas trouvé la réponse que vous recherchez ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 14 avril 2007 à 12:07
Bonjour, julien237,
C'est bien, mais le résultat final n'est jamais exact ! Il est juste le plus rapproché possible.
Essaye déjà avec le gris et tu vas comprendre !
Le gris réel (dit naturel... celui des peintre, quoi...) est obtenu par la combinaison de trois parties égales de C, de Y et de M
La combinaison de 3 parties égales de R, de G et de B te donnera un gris rapproché, mais pas le même gris.
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 14 avril 2007 à 12:14
Je suis tout à fait d'accord avec toi jmfmarques.
Et inversément si on considère du RGB(1,0,0), ca nous donne full magenta et yellow en CMYK qui n'est pas vraiment du rouge pur et idem pour bleu et vert...
C'est juste les formules que les imprimantes utilisent...
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 14 avril 2007 à 12:48
Bonjour à tous,
Merci à tous de vos réponses...
Jmfmarques >> Merci pour toutes tes explications que je ne manquerai pas de communiquer au technicien.
Casy >> Je n'ai pas retrouvé le sujet de conversation dont tu parles, ou alors j'ai mal chercher avec les mauvais termes. Je suis entièrement d'accord avec toi que Jmfmarques en connait un rayon sur ce sujet au vu de toutes ses réponses donné sur des sujets identique sur le forum...
Julien237 >> Merci à toi aussi pour toutes ces informations.
Ce que je sais c'est qu'il est arrivé à convertir le Bmp to Tif, et que maintenant c'est un problème de "couleurs" du moins du format utilisé.
De toute façon je vous tiens au courant sur ce sujet ouvert, et reviendrai vers vous...
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 17 avril 2007 à 16:58
Salut,
D'accord, je ne voyais pas cet angle du problème...
Je comprendrais tout à fait que tu préfère une dll ou une fonction toute faite, mais voila la description officielle du format Tiff. Bonne lecture
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 17 avril 2007 à 17:30
Encore une chose, je vois que tu es en VB6, mais en .Net, c'est fait très facilement !
Je viens de faire ceci en 10 minutes et ca à l'air de fonctionner...
Dim
codecs()
As
Imaging.ImageCodecInfo = Imaging.ImageCodecInfo.GetImageEncoders
Dim
tiffCodec
As
Imaging.ImageCodecInfo =
Nothing
For
i
As
Integer
= 0
To
codecs.Length - 1
If
codecs(i).FilenameExtension.Contains(
"TIF"
)
Then
tiffCodec = codecs(i)
End
If
Next
If
tiffCodec
Is
Nothing
Then
MsgBox(
"Impossible de trouver l'encodeur tiff."
)
Exit
Sub
End
If
Dim
encoderParams
As
New
Imaging.EncoderParameters(1)encoderParams.Param(0) =
New
Imaging.EncoderParameter(Imaging.Encoder.SaveFlag
, _Imaging.EncoderValue.ColorTypeCMYK)
Dim
bmp
As
New
Bitmap(70, 70, Imaging.PixelFormat.Format32bppArgb)
Dim
g
As
Graphics = Graphics.FromImage(bmp)g.FillRectangle(Brushes.BlueViolet,
New
Rectangle(10, 10, 50, 50))bmp.Save(
"Yop.tiff"
, tiffCodec, encoderParams)
Tu veux que je te fasse un dll qui te fait la conversion tout seul ?