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+ avec C & C++ Discussion :

redimentionner une image (pixmap)


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 28
    Par défaut redimentionner une image (pixmap)
    Bonjour.

    Je développe actuellement une aplication avec GTK.

    Je veux redimensionner une image.
    En l'occurence je la charge d'un fichier puis je l'affiche dans une drawing area.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    printf("redimention x a gauche\n");
            gdk_draw_drawable(pixmap, GdkGC, pixmap, x, 0, 0, 0, -1, -1);
    ce qui ce passe est un décalement de x pixel sur la gauche mais ce que j'arrive pas a faire est ce décalage + et d'afficher cette image sur toute la drawing area.

    Je cherche des pistes pour y arriver.

    - Dois-je passer par une pixbuf ?
    nottament avec gdk_pixbuf_scale

    Merci d'avance.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 28
    Par défaut
    Cela passe probablement par l'utilisation de la fonction gdk_pixbuf_scale();
    void gdk_pixbuf_scale (const GdkPixbuf *src,
    GdkPixbuf *dest,
    int dest_x,
    int dest_y,
    int dest_width,
    int dest_height,
    double offset_x,
    double offset_y,
    double scale_x,
    double scale_y,
    GdkInterpType interp_type);
    src : a GdkPixbuf
    dest : the GdkPixbuf into which to render the results
    dest_x : the left coordinate for region to render
    dest_y : the top coordinate for region to render
    dest_width : the width of the region to render
    dest_height : the height of the region to render
    offset_x : the offset in the X direction (currently rounded to an integer)
    offset_y : the offset in the Y direction (currently rounded to an integer)
    scale_x : the scale factor in the X direction
    scale_y : the scale factor in the Y direction
    interp_type : the interpolation type for the transformation.
    J'ai du mal a saisir le offset.
    dest : coordonnée de la partie de pixbuf que l'on va redimensionner.

    offset ? : . je vois pas.

    scale : facteur de redimensionnement. ?

    Help me plz.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 28
    Par défaut
    offset_y: le décalage en Y de la direction (actuellement, arrondi à un nombre entier)

    scale : echelle de redimensionnement.

    J'utilisais mal la fonction.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/02/2011, 22h04
  2. Redimentionner une image avecWIA
    Par blondelle dans le forum C++Builder
    Réponses: 0
    Dernier message: 22/05/2009, 13h13
  3. [ImageMagick] Redimentionner une image sans l'enregistrer
    Par gunth dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 26/11/2006, 13h46
  4. redimentionner une image
    Par bourvil dans le forum ASP
    Réponses: 2
    Dernier message: 22/09/2005, 08h42

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