Impression

olivier555olivier555 Membre
17:24 modifié dans API AppKit #1
Bonjour! C'est encore moi!
Cette fois la question du jour porte sur l'impression. Comment faire pour utiliser les routines de dessin déjà  implémentées pour l'affichage écran mais en les "redirigeant" vers l'imprimante? J'arrive à  imprimer la vue qui a déjà  été dessinée dans ma NSView, mais ce que je veux faire (afin d'avoir une résolution plus fine pour l'impression), c'est utiliser les routines de dessin (tracé de courbes, lignes, drawAtPoint, etc...) pour qu'elles dessinent directement sur le papier. Comme d'hab, je sais pas trop si je suis clair.
Merci d'avance!!
Olivier

Réponses

  • fouffouf Membre
    17:24 modifié #2
    Tu peux faire ca dans drawRect :
    <br />if([[NSGraphicsContext currentContext] isDrawingToScreen]){<br />&nbsp; &nbsp; // la routine pour le dessin sur l&#39;écran<br />} else {<br />&nbsp; &nbsp; // la routine pour le dessin sur l&#39;imprimante<br />}<br />
    


    J'espere que cela répond à  ta question.
  • olivier555olivier555 Membre
    17:24 modifié #3
    Merci mais comment on fait justement pour définir que ça dessine à  l'écran ou sur l'imprimante? Genre comment on fait le "setIsDrawingToScreen"??
  • olivier555olivier555 Membre
    17:24 modifié #4
    Non en fait j'ai compris! Il suffit d'implémenter :

    <br />NSPrintInfo			*printInfo = [NSPrintInfo sharedPrintInfo];<br />NSPrintOperation	*op = [NSPrintOperation printOperationWithView:self printInfo:printInfo];<br />[op runOperation];<br />
    


    runOperation appelle drawRect mais en mode impression et pas affichage. Ensuite dans drawRect, il faut mettre le bout de code de fouf et ça imprime. Voilà !
Connectez-vous ou Inscrivez-vous pour répondre.