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

FAQ C++/CLI et VC++.Net

FAQ C++/CLI et VC++.NetConsultez toutes les FAQ

Nombre d'auteurs : 29, nombre de questions : 248, création le 22 février 2013 

 
OuvrirSommaireIntéraction du C++/CLI avec le framework .NetGDI

Cette définition est tirée de MSDN

Le Common Language Runtime recourt à une implémentation avancée de l'interface graphique (GDI, Graphics Design Interface) Windows, appelée GDI+. GDI+ vous permet de créer des graphiques, de dessiner du texte et de manipuler des images graphiques en tant qu'objets. Cette interface est conçue pour allier performances et simplicité d'utilisation. Vous pouvez l'utiliser en vue du rendu des images graphiques sur des Windows Forms et des contrôles. GDI+ a entièrement remplacé GDI et constitue aujourd'hui la seule option disponible pour le rendu des graphiques par programme dans les applications Windows Forms.

Créé le 27 mars 2007  par Jérôme Lambert

Lien : Graphiques GDI+

Ce code permet de réaliser simplement une capture d'écran de la fenêtre active et de l'écran en entier.
Le principe est de simuler l'appui sur la touche "Impr écran" puis de récupérer l'image obtenue dans le Presse-Papier. Pour l'exemple donné ci-dessous, les résultats sont affichés dans 2 PictureBox : PBWindow, PBScreen après le click sur un Button BPrint.

 
Sélectionnez
private: System::Void BPrint_Click(System::Object^  sender, System::EventArgs^  e) 
{
	Bitmap^ screen;
	Bitmap^ window;
 
	// simuler l'appui de la touche PrintScreen
	System::Windows::Forms::SendKeys::SendWait("{PRTSC}");
	// récupérer l'image obtenue dans le Presse-Papier 
	window = safe_cast<Bitmap^>(Clipboard::GetDataObject()->GetData("Bitmap"));
	// attribuer l'image à PBWindow
	PBWindow->Image = window;
 
	// simuler le PrintScreen enrichi
	System::Windows::Forms::SendKeys::SendWait("+{PRTSC}");
	// récupérer l'image obtenue dans le Presse-Papier
	screen = safe_cast<Bitmap^>(Clipboard::GetDataObject()->GetData("Bitmap"));
	//attribuer l'image à PBScreen
	PBScreen->Image = screen;
}
Créé le 12 juillet 2006  par HULK, neguib

Voici une méthode permettant de convertir une image (ici au format Jpeg) en un tableau de bytes :

 
Sélectionnez
static array<unsigned char> ^ Image2ByteArray(Image ^img)
{
    try
    {
        MemoryStream ^mstImage  = gcnew MemoryStream();
        img->Save(mstImage, System::Drawing::Imaging::ImageFormat::Jpeg);
        array<unsigned char> ^ bytImage = mstImage->GetBuffer();
        return bytImage;
    }
    catch(Exception ^)
    {
        return nullptr;
    }
}
Créé le 12 juillet 2006  par sam_XIII, nico-pyright(c)

Voici une méthode permettant de convertir une image (ici au format Jpeg) en un tableau de bytes :

 
Sélectionnez
static Image ^ByteArray2Image(array<unsigned char> ^ BArray)
{
    try
    {
        MemoryStream ^mstImage = gcnew MemoryStream(BArray);
        Image ^img = Image::FromStream(mstImage); 
        return img;
    }
    catch(Exception ^)
    { 
        return nullptr;
    }
}
Créé le 12 juillet 2006  par sam_XIII, nico-pyright(c)

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006-2007 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.