Dessin de bordure et de cadre d'image

bxdieselbxdiesel Membre
17:17 modifié dans API AppKit #1
J'aimerais reproduire deux types de dessin que j'ai trouvés dans Pages, dans l'inspecteur, onglet Graphismes, rubrique Trait.
- Le mode ligne ( j'arrive à  dessiner la bordure des cadres en trait plein ou en pointillés avec NSBezierPath mais comment faire pour l'aspect "déchiré" du trait ?).
- Le mode Cadre d'image.

Je suppose que c'est  du dessin vectoriel mais comme je n'en ai jamais fait, je ne sais pas trop comment m'y prendre.
Pouvez-vous m'indiquer les classes de Cocoa et les tutoriels que je dois regarder ?

Réponses

  • CéroceCéroce Membre, Modérateur
    17:17 modifié #2
    Avec Cocoa, quasiment tout le dessin se fait grâce à  ces trois classes:
    - NSBezierPath pour les tracés vectoriels
    - NSColor
    - NSGradient pour les dégradés.

    Utiliser directement CGPath permet d'avoir un peu plus de liberté qu'avec NSBezierPath. Notamment, on peut modifier chaque point de la courbe de Bézier (extrémités ou points de contrôle) et avoir accès aux vraies courbes de Bézier avec 2 points de contrôle ou lieu d'un seul. Mais c'est plus compliqué.

    Pour avoir un aspect déchiré, il n'y a rien de tout fait, alors il va falloir être inventif: par exemple, répartir les points aléatoirement autour du tracé. Ou bien utiliser un fichier vectoriel (SVG, PDF, ou autre) pour situer les points et les déplacer pour suivre le tracé.
    Pour les cadres, c'est la même problématique.

    Les docs à  consulter: Quartz 2D Programming Guide et Cocoa Drawing Guide (plutôt en second ressort).
  • bxdieselbxdiesel Membre
    17:17 modifié #3
    Merci beaucoup pour les conseils, je me plonge là -dedans.  :)
Connectez-vous ou Inscrivez-vous pour répondre.