Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

dans une boucle sur un grread, je redessine temporairement un objet (copie d'un objet existant sur lui-même).

Pour que l'utilisateur voit l'objet redessiné, je souhaite lui affecter une couleur, mais forcément une couleur fortement contrastée par rapport à l'objet de base.

Dans les fonctions grdraw (ou grvecs) on peut spécifier un paramètre de couleur à -1 (XOR ink) pour dessiner en couleur inverse et être sur que le vecteur temporaire sera visible.

Connaissant une couleur d'objet, existe-t-il une couleur "inverse" qui rendrait bien lisible l'objet superposé?

 

J'avais pensé passer du ColorIndex en Truecolor, puis inverser les composantes RVB et revenir en ColorIndex.

Est-ce qu'il y a plus simple ou une fonction directe pour faire ça?

 

Merci

 

Olivier

Posté(e)

Salut,

 

en m'aidant de ce post

http://forums.augi.com/showthread.php?82733-AutoCAD-Color-Index-Index-Color-List&p=858995&viewfull=1#post858995

 

(vl-load-com)
(defun AC-CI-2-RGB (CI / obj RGB)
   ;; Get a color object from the current layer
   (setq obj (vlax-ename->vla-object (tblobjname "LAYER" (getvar "CLAYER"))))
   (setq obj (vla-get-TrueColor obj))
   (vla-put-ColorIndex obj CI)
   (setq RGB (list (vla-get-Red obj) (vla-get-Green obj) (vla-get-Blue obj)))
)

(defun RGB-2-AC-CI (RGB / obj CI)
   ;; Get a color object from the current layer
   (setq obj (vlax-ename->vla-object (tblobjname "LAYER" (getvar "CLAYER"))))
   (setq obj (vla-get-TrueColor obj))
   (vla-SetRGB obj (car RGB) (cadr RGB) (caddr RGB))
   (setq CI (vla-get-ColorIndex obj))
)

(defun invertRGB (RGB)
   (list (- 255 (car RGB)) (- 255 (cadr RGB)) (- 255 (caddr RGB)))
)

(defun invertcolor (CI / RGB)
   (setq RGB (AC-CI-2-RGB CI))
   (setq RGB (invertRGB RGB))
   (RGB-2-AC-CI RGB)
)

Aide au téléchargement du cadastre dgfip-download-helper
Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0
Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité