Je suis définitivement nouveau à tout type de graphiques (peut-être prendre des photos :)) alors s'il vous plaît pardonnez si mon explication du problème que j'ai affronté la nuit dernière n'est pas très précis et compréhensible. J'essaie de générer du code dans Cocoa qui dessinerait des vecteurs sur la base des fichiers SVG. J'ai traduit des commandes SVG en appels de méthodes NSBezierPath mais les graphismes reçus ne sont pas vraiment bons ... La forme est similaire à celle de base mais il y a quelques ... distorsions (?). Ce n'est probablement pas un problème d'anticrénelage ni de valeur de planéité du côté de Cocoa. On m'a suggéré que le problème pourrait résulter d'une interprétation différente des points de contrôle des courbes de Bézier par les méthodes Cocoa et SVG - est-ce possible? Ou quoi d'autre peut causer le problème?Y a-t-il des différences entre la façon dont les courbes de Bézier sont interprétées par Cocoa et SVG?
Répondre
La courbe SVG à commander est le point de contrôle, le point de contrôle, le point final.
cacao méthode curveToPoint prend le point final, point de contrôle 1, point de contrôle 2
C'est tout! Merci, Pete. – dzolanta
@Peter Hosey
Sure. En ce moment je suppose qu'il y a vraiment une différence dans les interprétations Cocoa et SVG. J'ai essayé d'utiliser des exemples SVG de base et le résultat est différent.
Version SVG:
<path d="M 100 200 C 100,100 400,100 400,200 z"/>
version Cocoa:
path = [[NSBezierPath alloc] init];
[path moveToPoint:NSMakePoint(100, 200)];
[path curveToPoint:NSMakePoint(100, 100) controlPoint1:NSMakePoint(400, 100) controlPoint2:NSMakePoint(400, 200)];
[path sePath];
Ou est mon erreur stupide que je ne peux pas remarquer :)
// Je ne suis pas en utilisant " Ajouter un commentaire "en raison du manque de formatage du code.
Vous devriez intégrer cela dans votre question. –
Pouvez-vous montrer un exemple de l'entrée balisage SVG et le code NSBezierPath vous traduit à? –