Comme cam studio

cs_danyclassique Messages postés 94 Date d'inscription samedi 1 décembre 2007 Statut Membre Dernière intervention 7 novembre 2010 - 6 mars 2008 à 18:12
cs_danyclassique Messages postés 94 Date d'inscription samedi 1 décembre 2007 Statut Membre Dernière intervention 7 novembre 2010 - 6 mars 2008 à 18:15
Bonjour a tous .
Tout est dans le titre.
Je voudrai faire une sorte de cam studio tres simplifie et sans la prise de son pour l instant.
J ai commence par reussir a faire une capture d ecran qui se trouve  dans un bitmap,
que je convertierai par la suite en png.
Seulement voila .
Le pb est que je n est aucune idee de comment je pourrai  faire une capture continue qui s affiche 
dans le form backgroundimage,puisque a chaque fin d evenement du bouton capture ,une image s affiche
mais apres l incolade l evenement s arrete et donc stop .

Je vous envoie le petit morceau de code .

En vous remerciant.

1 réponse

cs_danyclassique Messages postés 94 Date d'inscription samedi 1 décembre 2007 Statut Membre Dernière intervention 7 novembre 2010
6 mars 2008 à 18:15
Desole j ai oublie le code ,
que voici.

public

partial
class
Form1 :
Form{

 

public Form1(){

InitializeComponent();

}

 

 

 

 

[

DllImport(
"user32.dll")]

private
static
extern
IntPtr GetDesktopWindow();[

DllImport(
"gdi32.dll")]

private
static
extern
bool BitBlt(

IntPtr hdcDest,

int nXDest,

int nYDest,

int nWidth,

int nHeight,

IntPtr hdcSrc,

int nXSrc,

int nYSrc,

int dwRop);

private
const
int SRCCOPY = 0xCC0020; 

 

public
static
Bitmap CaptureTotale(){

 

IntPtr handle = GetDesktopWindow();

// create a objet graphics from handle

Graphics gScreen =
Graphics.FromHwnd(handle);

// get the rectangle of dekstop

Rectangle r =
Screen.PrimaryScreen.Bounds;

// create a bitmap of the size to rectangle

Bitmap bmpScreen =
new
Bitmap(r.Width, r.Height);

// Create a objet graphics froem to bitmap

Graphics gBmp =
Graphics.FromImage(bmpScreen);

// get the context graphique to dekstop

IntPtr hDCScreen = gScreen.GetHdc();

// get the context graphique to bitmap for cache

IntPtr hDCBmp = gBmp.GetHdc();

// copie again in the bitmap a current display BitBlt(hDCBmp,

0,

0,

r.Width,

r.Height,

hDCScreen,

0,

0,

SRCCOPY);

// liberate the context graphique of screengScreen.ReleaseHdc(hDCScreen);

// liberate the context of bitmapgBmp.ReleaseHdc(hDCBmp);

// return the capture screen

return bmpScreen;}

 

private
void button1_Click_1(
object sender,
EventArgs e){

this.BackgroundImage = CaptureTotale();}

private
void Form1_Load(
object sender,
EventArgs e){

}

}

}

Desole pour les commentaires en anglais mais le prof veut qu on si mette un peut " a l anglais" heum heum.
0
Rejoignez-nous