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

C# Discussion :

Creation de layers sur image


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut Creation de layers sur image
    Bonjour

    Pédale toujours un peu avec les concepts de Graphics

    Actuellement je cree une image (au sens logique et physique)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Image monImage=new BitMap(2048,2048);
    Graphics gr=Graphics.FromImage(monImage);
    gr.Draw(plein_de_choses);
    A ce stade j'ai une grosse image dont je peux afficher des morceaux
    Mais j'aimerais par dessus cette image tracer des lignes et pouvoir les faire disparaitre sans reconstruire toute mon image

    Est-ce possible sans devoir faire des clones de l'image qui peut etre tres grosse ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    C'est tout à fait possible...

    Ton image est dans une image

    Ok, donc, dans ton Paint(), tu fais un DrawImage() pour l'image de fond.

    Après, pour avoir une couche, il faut créer d'autres images qui auront les
    éléments à dessiner et au final, tu feras un DrawImage() de ces couches là.

    De toute façon, dans la mesure ou au final, tout est dessiné dans le même contexte graphique, il faudra bien faire un refresh de ton image

    Cependant, en gérant cela par "couche", tu évites la reconstruction des images à chaque fois


    JE crois que j'avais déja parlé de cette technique dans une autre discussion il y a 2/3 mois (voir moins)

    The Monz, Toulouse

  3. #3
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Merci theMonz31

    En fait je n'utilise pas Paint

    Ce que je fais actuellement

    Je construit une image qui fait +/- 3 x la taille d'un PB que j'utilise pour l'affichage

    J'utilise DrawImage avec deux rectangles pour afficher la portion d'image qui m'intéresse dans le PB

    Grace a cette methode, je peux faire des Zoom et et des slide rapide dans l'image

    Si je te suis bien tu me suggere de creer d'autres images sur lequelles je peux tracer les objets temporaires

    Ensuite je ferais des DrawImages en boucle sur mon PB

    Mais il me semble que DrawImage va chaque fois non pas empiler les image en transparence mais ecraser successivement la précédente


    Quelque chose m'échappe ?

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    du tout

    Il faut que tu te fasses ton propre controle

    Et dans un controle, l'objet Graphics gère la transparence

    Donc, si tu fais 3 drawImage de 3 images différentes ayant de la transparence,
    tu auras la superposition des 3...

    Par contre, si tu as 3 PB, il est clair que le résultat ne sera pas le même puisque les controles Windows gèrent par défaut la transparence par rapport au fond de la form Parent et non en ayant connaissance de controle qui se trouverait "sous" eux !!!

    The Monz, Toulouse

  5. #5
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Merci TheMonz31

    Non non j'ai un seul PB mais effectivement je devrais supperposer 2 ou trois images dessus !

    Donc d'apres toi je suis obligé de creer mon propre controle ?

    Zut ! ca m'arangeait bien ce PB ....

    Tu n'aurais pas un exemple sur un coin de table ....

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    rien compris, mais tu peux utiliser plusieurs bufferedgraphics superposés

    l'avantage c'est que tu passes de l'un à l'autre comme tu veux ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. [HTML][débutante] Map ou Onclick sur image ? Différent ?
    Par khany dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 08/12/2004, 14h05
  2. [allegro]passage de pointeur sur image
    Par Gonath dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 13/12/2003, 18h47
  3. zoom sur image de formulaire
    Par bourvil dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/10/2003, 09h25
  4. Réponses: 17
    Dernier message: 25/03/2003, 13h45
  5. [c++ builder] creation de surface sur TPanel
    Par JEG dans le forum DirectX
    Réponses: 7
    Dernier message: 23/09/2002, 22h41

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