Framework QuickTime

CyberbobCyberbob Membre
19:21 modifié dans API AppKit #1
Salut tout le monde,

J'ai enfin réussi a faire mon logiciel de traitement d'image. Seul petit problème, il faut que j'enregistre l'image dans une résolution autre que 72 dpi.

Or, je n'ai pas très bien compris comment intégrer ca avec le framework Quicktime.

Pas de problèmes pour intégrer le framework dans mon projet XCode, mais le seul soucis, c'est que je ne sais pas passer mon Image (NSImage) dans un GraphicExporter.

Qq'un peut t'il éclairer ma lanterne ?
Merci d'avance.

Réponses

  • Eddy58Eddy58 Membre
    19:21 modifié #2
    Je ne sais pas si l'on peut passer un objet NSImage directement aux APIs Quicktime, mais voici un exemple qui ouvre une image jpeg dans une fenêtre avec QT : :)
    http://developer.apple.com/samplecode/qtreadwritejpeg/qtreadwritejpeg.html
  • CyberbobCyberbob Membre
    19:21 modifié #3
    Ca voudrait dire qu'il faut que j'enregistre d'abord l'image en JPEG (or je l'enregistre en Tiff, mais bon Quicktime sais l'ouvrir). Cependant, je pensais qu'on pouvait le faire...

    Qq'un l'a t'il déjà  fait directement dans un projet Cocoa, aprce que l'exemple est quand même costaud, il va falloir que je l'étudie de plus pres.
  • mpergandmpergand Membre
    19:21 modifié #4
    Salut,

    je pense que tu devrais regarder du coté de NSImageRep :

    How to make bitmaps at 300 dpi ?

    Exemple de code

    Sinon en récupérant l'image au format TIFF avec TiffRepresentation, ça devrait être facile de passer ces données à  un graphicExporter...

    public NSData TIFFRepresentation()
    public NSData TIFFRepresentation(int compression, float factor)
  • CyberbobCyberbob Membre
    19:21 modifié #5
    dans 1100609501:



    Sinon en récupérant l'image au format TIFF avec TiffRepresentation, ça devrait être facile de passer ces données à  un graphicExporter...

    public NSData TIFFRepresentation()
    public NSData TIFFRepresentation(int compression, float factor)


    Justement , j'ai essayé, mais en vain. Je ne trouve pas la documentation du Quicktime SDK très explicite a ce sujet, je vais regarde ton exemple de code. Ca à  l'air d'être une méthode de contournement, mais c'est ce quil me faut je pense. Si vous avez d'autres exemples, je suis preneur ! ;) :spot:
  • CyberbobCyberbob Membre
    19:21 modifié #6
    En fait je viens de tester le code de mpergand (d'ailleurs merci), mais c'est une solution pour contourner le problème. Or moi, mes images vont être traités par des serveurs d'impressions, donc on besoin que la résolution de l'image soit bien du 300 Dpi (par exemple). Et non un format adapté pour que ca fasse du 300Dpi en 72 Dpi.

    Je cherche donc un moyen (je pense que seul quicktime peut le faire) d'enregistrer l'image en Tiff, avec une résolution autre que 72 Dpi.

    Je n'arrive pas trop a comprendre le Framework quicktime, j'ai regardé ca pendant 2 jours, les GWorld, etc... rien n'est bien expliqué a mon gout. A mon d'avoir un bon tutoriel, je ne m'en sors pas. J'attend impatiemment vos posts, si vous pouvez m'aider.
  • mpergandmpergand Membre
    19:21 modifié #7
    En fait je viens de tester le code de mpergand


    heu! c'est pas le mien  :D

    ici il crée un dataRef à  partir d'un NSData : NSBitmapImageRep
  • Eddy58Eddy58 Membre
    novembre 2004 modifié #8
    dans 1100631761:

    Je n'arrive pas trop a comprendre le Framework quicktime, j'ai regardé ca pendant 2 jours, les GWorld, etc... rien n'est bien expliqué a mon gout. A mon d'avoir un bon tutoriel, je ne m'en sors pas. J'attend impatiemment vos posts, si vous pouvez m'aider.


    Oui Cyberbob, c'est pas du gâteau ;)
    De plus, personnellement j'ai pas trouvé la trace d'un seul tuto quicktime sur le net, bien que ça doive exister je pense. A mon avis, pour bien commencer à  comprendre QT et bosser avec, il vaut mieux se munir d'un bon bouquin :

    http://www.amazon.fr/exec/obidos/ASIN/0120596407/qid=1100736239/sr=1-16/ref=sr_1_8_16/402-8417111-2783300.

    Bon ce n'est pas donné, mais rien de tel pour progresser. :)
Connectez-vous ou Inscrivez-vous pour répondre.