[Résolu] NSBox dérivée
berfis
Membre
Bonjour,
J'aimerais dériver NSBox pour obtenir ceci:
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Pour les dégragée utilise NSGradient.
Pour les lignes utilise NSBezierPath.
Pour le titre utilise drawAtPoint de NSAttributedString.
Merci mpergand,
Oui, j'ai une version qui utilise tout ça, il y a juste... comment faire le bézier du "demi-rectangle arrondi"? Par exemple, la "barre de titre" est arrondie en haut mais plate en bas. On fait comment?
Le mieux AMHA serait de contruire un NSBezierPath en utilisant la fonction appendBezierPathWithArcFromPoint:toPoint:radius: pour les coins arrondis.
Cela peut être intéressant de télécharger la version démo de PaintCode. Cela permet d'apprendre pas mal de choses sur CoreGraphics.
Tu construis un path avec la méthode appendBezierPathWithArcFromPoint:toPoint:radius: pour les coins arrondis.
Matt Gemmel avait un box arrondi dans ce style,
voir ici http://mattgemmell.com/2005/11/02/roundedbox-nsbox-subclass/
Merci à vous trois !
J'ai regardé vos exemples, tâtonné comme un idiot avec les coordonnées des arcs avant de me souvenir que le rayon d'un cercle est constant
Pour le gradient, c'est joli comme tout (j'ai failli dire simple... avant d'inverser les couleurs de départ et d'arrivée) et ça donne ceci pour l'instant. Je me rapproche du but, grâce à vous!
Les classes NSBezierPath et NSColor sont assez complètes et permettent de faire beaucoup de choses. A la rigueur tu complètes avec CoreImage si tu as besoin d'effets spéciaux (monochrome, filtres variés, effets, etc.), mais lis la doc de NSBezierPath, elle est bien faite.
https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaDrawingGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40003290
Comment indiquer [Résolu] sur un sujet?
Selon mon souvenir, tu édites ton premier post avec option avancée (ou un truc dans le genre) et là tu met à jour ton titre.
Bonne mémoire, Kubernan! ça marche, merci!