[résolu] IconFamily: couleurs différentes à  l'export en icns

Chozo-MJChozo-MJ Membre
octobre 2009 modifié dans API AppKit #1
Bonjour,
à  la fois nouveau sur le forum et en dev sur mac, je suis venue solliciter votre aide pour Hobiconer, une petite application de gestion projets d'icônes (voir ici) (un iconcomposer like)
Actuellement ce programme fonctionne uniquement sur 10.6 car j'utilise la commande "tiff2icns" qui gère les icônes de taille 512 que sur snow leopard.
J'aimerai donc faire fonctionner le tout sur leopard (10.5), je me suis donc tourné vers iconfamily. L'export se passe sans erreur d'écriture mais avec cette méthode les couleurs de l'icône exportée sont plus claire que l'image originale :(.

Avez vous une petite idée de la façon de procéder? problèmes similaires?
Merci.


Réponses

  • AliGatorAliGator Membre, Modérateur
    22:19 modifié #2
    Hello et bienvenue,

    Je ne connais pas le domaine ni les applications, donc je ne saurais pas t'aider sur ce point précis... cependant, ce que tu décris (couleurs plus claires) ressemble fort à  un problème de profil colorimétrique (par exemple le profil colorimétrique du TIFF dont tu te sers pour générer l'icône, qui est totalement ignoré par ton soft "iconfamily", ce qui fait que la couleur n'est pas interprétée pareil du coup, et dans ton cas se retrouve plus claire)

    Essaye de supprimer le profil colorimétrique (dit profil ICC ou parfois appelé aussi profil ColorSync) de ton TIFF (avec ton logiciel de dessin préféré qui saurait gérer ça) avant d'appliquer ta conversion tiff->icns pour voir ?
  • Chozo-MJChozo-MJ Membre
    octobre 2009 modifié #3
    Merci pour ta réponse.
    Quand je parle d'"iconfamily", je fais référence aux fonctions d'apple en C pour la gestion des icônes (SetIconFamilyData etc). Et il existe aussi un wrapper plus accessible en objective-c http://iconfamily.sourceforge.net/

    Donc j'ai essayé une conversion direct d'un fichier sans profile, et malheureusement j'obtient ce même délavement. Mais tu as peut être raison, il faut peut être jouer sur les profiles de couleurs. Aperçu m'indique que le profile de couleur des fichiers icns est "profile générique" tandis que la plupart de mes images de test sont en apple rgb ou sans profile....

    edit: C'était bien une histoire de profile!
    J'ai donc appliqué le profile généric au NSBitmapImageRep :
    &nbsp; <br />id profile = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@&quot;Generic RGB Profile&quot; ofType:@&quot;icc&quot;]];<br />	<br />// Set the ColorSync profile for the object<br />[bitmapRep setProperty:NSImageColorSyncProfileData withValue:profile];<br />
    


    puis lorsque que je dessine dans une bitmaprep j'applique une option au contexte graphique
    [graphicContext setColorRenderingIntent:NSColorRenderingIntentRelativeColorimetric];
    


  • schlumschlum Membre
    22:19 modifié #4
    Sinon, utiliser les fonctions Carbon n'est franchement pas très compliqué une fois qu'on a compris le fonctionnement (le code d'iconfamily peut aider). Et ça donne beaucoup plus de possibilités.
Connectez-vous ou Inscrivez-vous pour répondre.