AUTRES MÉTHODES POUR FAIRE DES CAPTURES D'ÉCRAN

gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 - 6 déc. 2003 à 12:41
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 30 mai 2007 à 14:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18373-autres-methodes-pour-faire-des-captures-d-ecran

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
30 mai 2007 à 14:31
les APIs me diraient :

SendMessage et WM_PRINTCLIENT
asskicker123 Messages postés 2 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 9 novembre 2007
30 mai 2007 à 13:57
est-ce possible de capturer une fenêtre n'étant pas active ?
sergebre Messages postés 10 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 26 décembre 2003
26 déc. 2003 à 19:28
oui...

soit "r" le rectangle correspondant à la portion de bureau à capturer

public static Bitmap RecupPortionBureau(Rectangle r)
{
Graphics gBureau=Graphics.FromHwnd(GetDesktopWindow());
IntPtr hdc=gBureau.GetHdc();
Bitmap b=new Bitmap(r.Width,r.Height);
Graphics gb=Graphics.FromImage(b);
IntPtr hgb=gb.GetHdc();

BitBlt(hgb,0,0,r.Width,r.Height,hdc,r.X,r.Y,13369376);

gBureau.ReleaseHdc(hdc);
gBureau.Dispose();
gb.ReleaseHdc(hgb);
gb.Dispose();
return b;
}

et il y en a d'autres des méthodes.
cs_Matrics Messages postés 23 Date d'inscription lundi 22 décembre 2003 Statut Membre Dernière intervention 22 avril 2005
25 déc. 2003 à 23:17
-est ce qu'il y a une possibilité de faire une capture d'une zone
bien précise de l'ecran ?
sergebre Messages postés 10 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 26 décembre 2003
12 déc. 2003 à 00:05
Mais où tu vas la chercher cette idée comme quoi je me fout de la rapidité du code.
Et je te signale que personne ne critique ton code, on propose une autre alternative orientée au maxi vers le .Net. Et c’est tout. Point bar.
A+.
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
11 déc. 2003 à 23:44
.NET ne rime pas avec language de newbies qui se foutent des performances de leur code.
La classe que j'ai proposer ce n'est pas pour montrer du code d'utilisation d'API mais afin que l'on puisse l'utilise au sein d'un projet tout autre.
sergebre Messages postés 10 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 26 décembre 2003
11 déc. 2003 à 23:28
Je me marre.

Toi avoir pas lu message au dessus ou toi,le pro, avoir pas compris...

Aller, prends pas cet air supérieur et reste simple.

J'ai fait un essai en développant une DLL avec C++Builder
C'est encore 2 fois plus rapide que ta méthode. Donc toi le productif, tu sais ce qu'il te reste à faire.

Mais je persiste, on est bien sur un site orienté c#.Net et pas API
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
8 déc. 2003 à 00:18
Le travail de programmation est souvent fortement lié à un travail de productivité notemment au niveau de l'entreprise principale cliente de nos services de développeurs.
Les performances d'un programmes sont prioritaire à sa "beauté".

Pour le développeur amateur, cela reste sans doute et je le comprends plus simple de faire un code joli et peu performant.
sergebre Messages postés 10 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 26 décembre 2003
7 déc. 2003 à 22:07
Si je veux quelque chose de rapide et même de très rapide, je ne programme pas avec C# et le .Net mais avec "C++ Builder".

Mais comme je suis sur un site qui est orienté C# et Net , je pense qu'il est mieux d'éssayer de ne pas utiliser les APIs dans la mesure du possible et donc le code de "aogie" est le top puisqu'il n'utilise que 2 API.
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
6 déc. 2003 à 12:41
Même commentaire que pour la personne ayant répondu avoir trouver une solution plus simple pour la capture d'écran sur ma source .
Les deux méthodes proposées ici sont sans doute plus simple à comprendre mais également 50% plus lentes...

Le framework étant une surcouche de l'API Windows il est impossible qu'il soit plus rapide dans ces traitements, donc bon. C'est bien jolie de trouver des centaines de facon de faire la même chose, si au moins c'est aussi rapide :)
Rejoignez-nous