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

Windows Forms Discussion :

Zoom et Scroll sur une PictureBox avec BackgroundImage


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Par défaut Zoom et Scroll sur une PictureBox avec BackgroundImage
    Salut à tous.

    Je vais commencer par décrire une partie de mon projet, afin d'être le plus clair possible ^^

    Je souhaite réaliser l'affichage du spectre d'un fichier son (au choix de l'utilisateur, ça sera généralement du wav, du mp3 ou du ogg) et proposer la possibilité de zoomer dessus, ainsi que de mettre des marqueurs (par ex : "fin de l'intro", ce genre de chose).
    Après quelques recherches sur le net, j'ai trouvé une bibliothèque qui fait ça très bien : Bass http://www.un4seen.com/
    A partir de cette bibliothèque, j'arrive à :
    - afficher une waveform (le spectre) pour un fichier son donné. J'ai une méthode qui crée un Bitmap que je définis ensuite comme BackgroundImage d'une PictureBox ;
    - poser des marqueurs avec une fonction qui prend en paramètre le temps (en secondes) où on pose le marqueur.

    Il ne me manque plus qu'une fonctionnalité, c'est le zoom

    Comme d'habitude, j'ai cherché sur Google et divers forums (dont celui-ci), mais je n'ai trouvé que des possibilités de zoom sur des images chargées depuis un fichier (ce qui n'est pas mon cas, et ne peut pas l'être).
    Donc je me demandais si quelqu'un aurait des conseils à me donner pour réaliser un zoom sur ce spectre (voir même la solution, mais je sais qu'il faut pas trop en demander xD).

    Pour avoir une idée de la fonctionnalité, je peux citer le logiciel Audacity, qui fait exactement ce que je veux niveau zoom. Il s'agit de la possibilité de zommer/dézoomer avec la molette de la souris, et lorsque l'on zoom sur l'image, une barre de scrolling horizontale apparait (la hauteur devant rester la même tout le temps, encore un petit détail chiant).

    Si je résume, j'ai donc un spectre de fichier son chargé en BackgroundImage d'une PictureBox, et je souhaite faire un zoom dessus qui l'étirerait sans changer sa hauteur. On pourrait ensuite naviguer dans l'image étirée à l'aide d'une barre de scroll.

    Merci pour toute l'aide que vous pourrez m'apporter, et n'hésitez pas à demander des détails si je n'ai pas été assez clair ^^

    Edit : J'oubliais de préciser, je débute en C# donc la solution est peut-être évidente. Désolé si c'est le cas ^^

  2. #2
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut
    Et si tu enregistrais temporairement ton image afin de pouvoir une des solutions que tu as déjà trouvé ?
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 537
    Par défaut
    Idée feinte :

    Avoir une PictureBox(ou autre) transparente à travers laquelle on voit la picturebox où est affichée le spectre.

    Lorsque que tu bouges la molette en réalité tu grandis ou réduis la taille de la picturebox du spectre.
    ça donneras l'effet que tu veux, pour l'utilisateur ça ne changera pas son cadre de vision mais le spectre sera zoomé.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Par défaut
    laedit : Malheureusement, je ne peux rien écrire sur le PC de l'utilisateur :/

    NejNej : Ça a l'air bien ton truc, mais j'avoue avoir du mal à saisir.
    Si j'agrandis la longueur de la PictureBox contenant le spectre, ça ne va pas se voir ? J'arrive vraiment pas à saisir l'idée de la PictureBox transparente servant de fenêtre.
    J'vais tenter de me faire un petit projet avec cette idée, pour voir.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 537
    Par défaut
    Autre qu'une PictureBox tu place ta PictureBox contenant le spectre dans un panel!

    Tu définie le panel à la location et à la taille dont tu désires que l'utilisateur ai la vue!

    Puis tu agrandis et réduis ta PictureBox.

    L'image sera plus grande mais on ne verra que ce qui est visible dans le panel.
    Il faudra aussi enlever les scrollbars au panel.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Par défaut
    Ok. Ça ressemble vraiment à ce que je veux faire ^^

    Mais j'dois vraiment pas avoir de veine, parce que quand j'essaie de poser une PictureBox dans le Panel, Visual Studio plante (genre il se ferme violemment).
    J'vais voir si j'peux régler ça (sinon je réinstalle et ça devrait aller).

    Merci pour l'aide en tout cas Je vous tiendrai au courant de l'état d'avancement ^^

    Edit : Bon ben ça marche bien Merci beaucoup.

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

Discussions similaires

  1. Stopper le scroll sur une ancre avec javascript
    Par rocketter dans le forum Général JavaScript
    Réponses: 23
    Dernier message: 07/05/2014, 16h10
  2. [Android]Zoom sur une carte avec numéro de tuile
    Par chico95 dans le forum IGN API Géoportail
    Réponses: 4
    Dernier message: 27/08/2012, 22h26
  3. [Article] Appliquer un effet de zoom sur une image avec les CSS
    Par Bovino dans le forum Publications (X)HTML et CSS
    Réponses: 1
    Dernier message: 17/10/2010, 08h53
  4. Appliquer un effet de zoom sur une image avec les CSS
    Par Kerod dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 17/10/2010, 08h53
  5. Réponses: 2
    Dernier message: 22/04/2010, 10h48

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