none
Programmation Windows 32 avec GDI+ RRS feed

  • Question

  • Bonjour

    Comment Enregistrer le contenu de ma fenêtre client avec GDI+.

    je ne parle pas d'une capture d’Écran, parce que je enregistrer une série d'image .

    Merci de venir au secours 

    vendredi 3 décembre 2010 09:41

Réponses

  • Bonjour,

    Cela nécessite un minimum d'architecture et de maitrise de la programmation orienté objet. (Si vous n'avez aucune notion d'orienté objet et de design pattern, oubliez ce que vous faites, et oubliez C++).

    Vous devez modéliser vos objets que vous souhaitez dessiner (par exemple un Rectangle). Ces objets doivent être accessible dans une liste par exemple. Ensuite il faut créer une classe (par exemple Dessinateur) qui se charge de dessiner vos objets contenu dans le tableau à l'aide de GDI+ lors de l'événement Paint qui est déclenché par Windows.

    Une fois chose faites, il suffit dans cette classe Dessinateur de paramétrer le DC sur lequel vous voulez dessiner (une fenêtre, un fichier,...).

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    • Marqué comme réponse Alex Petrescu lundi 13 décembre 2010 09:29
    dimanche 5 décembre 2010 17:09
    Modérateur

Toutes les réponses

  • Bonjour,

    Que voulez vous dire par "enregistrer le contenu de ma fenêtre" ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    samedi 4 décembre 2010 10:34
    Modérateur
  •  une fois qu'on dessine un rectangle par exemple (API win 32) enregistrer l'affichage du rectangle en jpg par exemple
    samedi 4 décembre 2010 13:55
  • Bonjour,

    Ce n'est pas possible, les fonctions GDI vous permet de colorier des pixel et aucun cas vous pouvez récupérer ce que vous avez colorié (sauf avec une capture d'écran).

    La seul façon de faire est de modéliser vos objets à dessiner à l'aide de classe, de les dessiner sur une surface GDI (et donc vos objets peuvent être dessiné sur une fenêtre ou un fichier).

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    samedi 4 décembre 2010 17:47
    Modérateur
  • Dans ce cas comment faire pour générer  une série d'image automatiquement;

    je veux dire dessiner un rectangle par exemple le déplacer dans toutes fenêtre  à un pas déterminé.

    et à chaque pas enregistrer en jpg  par exemple.

    j'ai essayé de créer un tableau d'image Image img[] et stocker mes captures,j'arrive pas je suis un p perdu!!

    Comment faire à votre avis

    dimanche 5 décembre 2010 14:59
  • Bonjour,

    Cela nécessite un minimum d'architecture et de maitrise de la programmation orienté objet. (Si vous n'avez aucune notion d'orienté objet et de design pattern, oubliez ce que vous faites, et oubliez C++).

    Vous devez modéliser vos objets que vous souhaitez dessiner (par exemple un Rectangle). Ces objets doivent être accessible dans une liste par exemple. Ensuite il faut créer une classe (par exemple Dessinateur) qui se charge de dessiner vos objets contenu dans le tableau à l'aide de GDI+ lors de l'événement Paint qui est déclenché par Windows.

    Une fois chose faites, il suffit dans cette classe Dessinateur de paramétrer le DC sur lequel vous voulez dessiner (une fenêtre, un fichier,...).

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    • Marqué comme réponse Alex Petrescu lundi 13 décembre 2010 09:29
    dimanche 5 décembre 2010 17:09
    Modérateur
  • Ce n'est pas possible, les fonctions GDI vous permet de colorier des pixel et aucun cas vous pouvez récupérer ce que vous avez colorié (sauf avec une capture d'écran).

     

    N'importe quoi.

    C'est GDI+ , pas GDI

    Il suffit de sauvegarder le stream

    Il  y a même x exemples dans MSDN !

     


    samedi 18 juin 2011 11:13