IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ Discussion :

Résolution avec Gtk Pixbuf


Sujet :

GTK+

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut Résolution avec Gtk Pixbuf
    Bonjour,

    Je suis en train de réaliser une petite application avec GTK pour recadrer des photos et retravailler les couleurs.

    J'aimerais pouvoir régler les résolutions horizontale et verticale de l'image lorsque je l'enregistre en jpg (avec gdk_pixbuf_savev) pour pouvoir choisir les dimensions de l'image à l'impression. Je ne vois pas comment faire.
    Si quelqu'un a une idée...

    Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Avec gdk_pixbuf_scale ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut
    Désolé mon premier message n'était pas très clair.

    En fait quand on crée un nouveau pixbuf, il fait 96ppp de résolution horizontale et verticale, c'est ça que je voudrais changer.

    gdk_pixbuf_scale permet de transformer une image 1280*960 en 800*600 par exemple, mais pas de changer la résolution de l'image.

    Ce que je voudrais faire en fait, c'est pouvoir imprimer une image 1280*960 en 12cm*9cm, 8cm*6cm, 4cm*3cm etc... sans changer la largeur et la hauteur de l'image, cad qu'elle reste en 1280*960. Pour ça il faut changer la résolution (le nombre de pixels par mm).

    J'ai déjà fait ce genre de programme en ne gérant que le format bmp, je n'utilisais pas gdk_pixbuf (ni gtk d'ailleurs). Avec le format bmp c'est simple il suffit de modifier les 8 octets à partir du 38ème dans le fichier, mais le format jpg (et png) sont beaucoup plus compliqué à décoder je pense que y'a une fonction dans gdk_pixbuf pour le faire mais je ne trouve pas.

    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut
    Si quelqu'un se posait la même question que moi j'ai trouvé une solution.
    Enfin j'ai pas trouvé de fonction pour le faire avec gdk_pixbuf, mais en modifiant quelques octets du fichier jpg une fois enregistré.

    Dans le fichier, le 13ème octet peut prendre 3 valeurs :
    0->on ne règle pas la résolution elle vaudra 96ppp
    1->on règle la résolution en pixels/pouce
    2->on règle la résolution en pixels/cm
    Il faut donc placer cette valeur à 1 ou 2.

    Les octets 14 et 15 correspondent à la résolution horizontale (octet14 * 256 + octet15), et les 16 et 17 à la résolution verticale.

    Il suffit donc de modifier ces 5 octets pour changer la résolution et ainsi pouvoir choisir les dimensions de l'image à l'impression.
    (Largeur en cm = nombre de pixels en largeur / resolution horizontale en pix/cm).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [GTK]problème avec GTK+ sur DEV-C++
    Par afrikha dans le forum Dev-C++
    Réponses: 7
    Dernier message: 01/10/2005, 14h13
  2. Probléme de résolution avec virtual PC
    Par wikers dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 19/08/2005, 10h04
  3. [GTK]installer Dev-C++ avec gtk 1.2 ...
    Par vbcasimir dans le forum Dev-C++
    Réponses: 2
    Dernier message: 02/02/2004, 13h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo