[vb 2005] utilisation des apis setpixel et bitblt

Soyez le premier à donner votre avis sur cette source.

Vue 10 575 fois - Téléchargée 614 fois

Description

Ce code simple montre comment il est possible d'utiliser les APIs SetPixel et BitBlt avec VB 2005.

Quatres APIs y sont utilisée : GetDC, ReleaseDC, SetPixel et BitBlt.

GetDC et ReleaseDC sont utilisées pour palier au problème du framework 2.0 dans l'utilisation des deux autres APIs, qui est l'absence de la propriété ".hdc" qui est obligatoire pour les utiliser.

Cette source met aussi en avant la rapidité d'exécution des API setpixel et bitblt, en les faisant fonctionner sur une période définie par l'utilisateur.

A noter : il est préférable de mettre des valeurs d'exécution inférieures à 1 minute, et obligatoirement inférieures à 1 heure .. Une impression de "plantage" ("ne répond pas") peut apparaitre, mais il n'en est rien, laisser le logiciel terminer :)

Source / Exemple :


goto zip

Conclusion :


Merci à Casy et Renfield pour leures remarques qui m'auront mis sur la voie :)

PS : ce logiciel n'a aucune utilité DIRECTE, elle ne fait que montrer comment utiliser certaines APIs et leur rapidité d'exécution.

PS2 : j'aurais pu utiliser l'API gettickcount pour tout ce qui touche au temps dans ce logiciel, mais pour une raison qui m'échappe, mon PC faisait passer 40 seconde en quelques milliseconde avec cette API :)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_Kite37
Messages postés
242
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
17 janvier 2018
-
Si je me suis rabattu sur ces APIs, c'est avant tout parce que j' n'ai pas trouvé d'autres méthodes avec une rapidité pouvant rivaliser avec celle obtenue via leur utilisation.

Cependant, je suis preneur :p (meme via drawing.image, drawing.bitmap et autre, je n'ai pas réussi a avoir une telle rapidité, peut être que je m'y prenait mal ^ ^)

Au niveau du typage de données, j'utilise les raccourcis uniquement pour un gain de temps..
Car il est plus rapide et plus pratique de tapper "dim str$" que "dim str as string" pour au final avoir le meme résultat, non?
zavier666
Messages postés
266
Date d'inscription
mardi 7 septembre 2004
Statut
Membre
Dernière intervention
30 avril 2009
-
On peut noter tout de même pour ceux que cela interresse que la majeure partie des API que nous utilisions en VB6 peuvent être déclarées quasiment tels quels et être utilisées en .Net

exemple:
Déclaration traditionnelle:
Declare Function IsIconic Lib "user32" ( _
ByVal hwnd As Long) As Long

Déclaration en .Net - VB2005:
Declare Function IsIconic Lib "user32" ( _
ByVal hwnd As Integer) As Integer

on remplace Long par Integer et le tour est joué

Enfin, il faut noter que beaucoup d'API sont maintenant intégrées dans des classes et l'on peut les utiliser très facilement comme montré plus haut.


slts!!
-----------------------------------------------
Toujours + de VB6 et d'API => API @ la Loupe
http://xav.prog.power.free.fr
Charles Racaud
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
26 -
Surtout les dossiers bin et obj et fichier suo

Par contre la source n'est pas très utile
GetDC et ReleaseDC peuvent être remplacé par des fonctions du Framework :
Me.CreateGraphics()

SetPixel et BitBlt peuvent être remplacé par des fonctions de la class System.Drawing.Image

En regardant ton code, je vois plutôt un code vb6. (Variables pas typées, utilisation des la librairie vb6)

__
Kenji
Renfield
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
59 -
pbd en tête des extensions de fichier a supprimer
cs_Kite37
Messages postés
242
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
17 janvier 2018
-
justement, a ce propos, quels sont les fichiers qui ne sont pas indispensables et peut être omis lorsque l'on poste une source, j'ai jamais su ^^'

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.