0/5 (30 avis)
Snippet vu 4 131 fois - Téléchargée 30 fois
Public Function ExtractRGB(ByVal RGBColor As Long, ByRef OutRed As Integer, OutGreen As Integer, OutBlue As Integer) As String Dim tmpVal As String ' Pour avoir la couleur en Hexa ' et d'etre sur qu'elle soit au format BBVVRR ' Et oui, en Hexa, ca apparait à l'envers ... tmpVal = Right$("000000" & Hex(RGBColor), 6) ' Recupération des différentes composantes ' Conversion en numerique de la composante ' la l'ajout du "&H" au début et du "&" à la fin ' servent à faire comprendre à la fonction Val que ' c'est de l'hexa - Merci JPP OutRed = Val("&H" & Right$(tmpVal, 2) & "&") OutGreen = Val("&H" & Mid$(tmpVal, 3, 2) & "&") OutBlue = Val("&H" & Left$(tmpVal, 2) & "&") ' Sortie en chaine de caractere, séparateur "," ExtractRGB = OutRed & "," & OutGreen & "," & OutBlue End Function
4 déc. 2003 à 18:51
Un separateur de couche RVB pour le traitement ou limpression papier ou film (flasheuse , etc) .
Engros pouvoir separer les couche RVB dunc image (donc ca c pas dur recup le % de R, V , B de chaque pixel et en deduire 3 images , 1 pr chaque composante).
Un separateur de couche CMJN pour la meme chose:
En gros convertir chaque pixel de composante RVB en pourcentage CMJN (deja plus compliqué) et en separé le Cyan, Magenta, Jaune et Noir du resultat (tjrs pr chaque pixel). donc creer 4 images resultantes du pourcentage de la composante CMJN.
Ne pas oublier non plus de pouvoir faire l'operation inverse cad de remettre chaque separation de couche en RVB ou CMJN .
(ex: appliquer un filtre sur une seule composante specifique, imprimé ou flasher qune seule composante, tramer une image, etc etc )
Pour convertir de RVB en CMJN voivi quelque infos utiles:
100% Rouge = 0% cyan + 100% magenta + 100% jaune + 0% noir
100% Vert = 100% cyan + 0% magenta + 100% jaune + 0% noir
100% Bleu = 100% cyan + 100% magenta + 0% jaune + 0% noir
la couleur Noir du CMJN permet de modifier la teinte dune resultante.
un rouge R127 V0 B0 correspond a C0 M100 J100 N50
un rouge R190 V0 B0 correspond a C0 M100 J100 N25
en gros:
- 75% de rouge pure RVB correspond a 25% de noir (teinte) + 100% de rouge pure CMJN
ou
- 62% de rouge pure RVB correspond a 38% de noir (teinte) + 100% de rouge pure CMJN
apres ces explication facile den deduire donc le pourcentage de chaque composante CMJN pour chaque composante RVB de chaque pixel !
et avec tt ca il ne reste plus ka faire le code (vb.net a la rigueur, C# ou C++ minimum je pense ;) VB6 a oublier a mon avis :))
enfin bon c une idee de src ki me trotte ds la tete mais po le temps pour le faire donc si ta envie de tamuser nhesitepo ;))
4 déc. 2003 à 20:59
Sinon c'est en VB6 parce que je bosse avec et .net ben c'est pas d'actualité...
4 déc. 2003 à 21:29
Dim Blue As Double, Green As Double, Red As Double
Blue = Fix((LongCol / 256) / 256)
Green = Fix((LongCol - ((Blue * 256) * 256)) / 256)
Red = Fix(LongCol - ((Blue * 256) * 256) - (Green * 256))
End Function
5 déc. 2003 à 00:15
5 déc. 2003 à 13:32
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.