begin process at 2012 05 27 15:41:35
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

DirectX

 > DIRECT DRAW PIXEL 8,16 OU 32 BITS TEST

DIRECT DRAW PIXEL 8,16 OU 32 BITS TEST


 Information sur la source

Note :
Aucune note
Catégorie :DirectX Classé sous :direct x, setpixel, plein ecran, circle Niveau :Débutant Date de création :11/11/2007 Vu / téléchargé :4 591 / 175

Auteur : f_l_a_s_h_b_a_c_k

Ecrire un message privé
Site perso
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Mon premier program en direct x

3 fonction qui marche
void pix(int x,int y,int r,int g,int b);
void fill(int r,int g,int b);
void circle(int xo,int yo, int rad,int r,int g,int b);

permet de mettre l ecran en mode plein ecran

#define X 640
#define Y 480

changer le X ey Y par le mode que vous vouler
#define X 320
#define Y 240

dans Init(X,Y,32);

et le bit de couleur que vous voulez utiliser
Init(X,Y,16); ou Init(X,Y,8);


Source

  • void pix(int x,int y,int r,int g,int b)
  • {
  • if(r<0) r=0;
  • if(g<0) g=0;
  • if(b<0) b=0;
  • if(r>255) r=255;
  • if(g>255) g=255;
  • if(b>255) b=255;
  • if(y>Y) y=Y-1;
  • if(x>X) x=X-1;
  • if(y<0) y=1;
  • if(x<0) x=1;
  • UCHAR *primary_buffer = (UCHAR *)Ddsd.lpSurface;
  • if (pixel_format == 32)
  • {
  • DWORD color = _RGB32BIT(0,r, g, b);
  • *((DWORD *)(primary_buffer + x*4 + y*Ddsd.lPitch)) = color;
  • }
  • else
  • if (pixel_format == 24)
  • {
  • ((primary_buffer + x*3 + y*Ddsd.lPitch))[0] = r;
  • ((primary_buffer + x*3 + y*Ddsd.lPitch))[1] = g;
  • ((primary_buffer + x*3 + y*Ddsd.lPitch))[2] = b;
  • }
  • else
  • if (pixel_format == 16)
  • {
  • USHORT color = _RGB16BIT565(r, g, b);
  • *((USHORT *)(primary_buffer + x*2 + y*Ddsd.lPitch)) = color;
  • }
  • else
  • {
  • UCHAR color = r;
  • primary_buffer[x + y*Ddsd.lPitch] = color;
  • }
  • }
void pix(int x,int y,int r,int g,int b)
{

if(r<0) r=0;
if(g<0) g=0;
if(b<0) b=0;

if(r>255) r=255;
if(g>255) g=255;
if(b>255) b=255;

if(y>Y) y=Y-1;
if(x>X) x=X-1;
if(y<0) y=1;
if(x<0) x=1;


UCHAR *primary_buffer = (UCHAR *)Ddsd.lpSurface;   

if (pixel_format == 32)
   {
         DWORD color = _RGB32BIT(0,r, g, b);
        *((DWORD *)(primary_buffer + x*4 + y*Ddsd.lPitch)) = color;

    } 

else
if (pixel_format == 24)
   {
        ((primary_buffer + x*3 + y*Ddsd.lPitch))[0] = r;
        ((primary_buffer + x*3 + y*Ddsd.lPitch))[1] = g;
        ((primary_buffer + x*3 + y*Ddsd.lPitch))[2] = b;
  
    }
else

if (pixel_format == 16)
    {
        USHORT color = _RGB16BIT565(r, g, b);
        *((USHORT *)(primary_buffer + x*2 + y*Ddsd.lPitch)) = color;
    } 
else
    {
        UCHAR color = r;
        primary_buffer[x + y*Ddsd.lPitch] = color;
    } 




}

 Conclusion

reste qu a faire un test de vitesse...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture POISSON D AVRIL (JOKE)
Source avec Zip SUPER MINI MP3 JOUEUR
Source avec Zip CPU INFO MHZ
Source avec Zip KEYLOGGER INVISIBLE
Source avec Zip Source avec une capture TRADUCTION DE MOT AVEC GOOGLE (UN AUTRE)

 Sources de la même categorie

Source avec Zip Source avec une capture MP3 DX9 JOUER par f_l_a_s_h_b_a_c_k
Source avec Zip Source avec une capture EQUINOX VISUAL SON METER par f_l_a_s_h_b_a_c_k
Source avec Zip Source avec une capture FLEUR EN DELIRE! par f_l_a_s_h_b_a_c_k
Source avec Zip Source avec une capture DIREXCT X 9 D3D par f_l_a_s_h_b_a_c_k
Source avec Zip BLOP DIRECT X par f_l_a_s_h_b_a_c_k

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture 2D GAME DIRECT X 9 par nanonavich
Source avec Zip Source avec une capture ECRAN VEILLE LE PLUS BASIC par f_l_a_s_h_b_a_c_k
Source avec Zip Source avec une capture CONTROLE AFFICHEUR (WIN32) par hattabking
Source avec Zip Source avec une capture DIREXCT X 9 D3D par f_l_a_s_h_b_a_c_k
Source avec Zip Source avec une capture ASTEROID DIRECT X par f_l_a_s_h_b_a_c_k

Commentaires et avis

Commentaire de metanil le 11/11/2007 12:58:19

Une fonction ça retourne un résultat, ça ne marche jamais....

Bonne chance pour les textures....

Commentaire de BruNews le 11/11/2007 14:00:08 administrateur CS

Retourner un résultat n'est pas une obligation, une fonction est un bloc de code et rien de plus.

Commentaire de metanil le 11/11/2007 14:02:17

Ne polémiquons pas monsieur : une fonction est une application mathématique qui transforme un ou plusieurs arguments en un ou plusieurs résultat !

Sinon, c'est une procédure !

Commentaire de BruNews le 11/11/2007 14:15:07 administrateur CS

Ici c'est C/C++ alors procédures et autres faux concepts des interprétés ne nous concernent en rien.

void myfunc();
est une fonction et personne ne lira le registre EAX pour autant.

Commentaire de metanil le 11/11/2007 14:16:49

pourtant, il y a 0 dedans !

lol

Commentaire de BruNews le 11/11/2007 14:20:09 administrateur CS

ah bon, c'est nouveau ça.

Commentaire de metanil le 11/11/2007 14:22:32

http://www.eisti.fr/~ga/phy/iitr/ii02/tr.pdf

Commentaire de BruNews le 11/11/2007 14:29:05 administrateur CS

stp, cessons de polluer ce code avec des commentaires stériles.
Si tu a des doutes sur l'emploi de l'asm depuis le C tu te reportes à mes sources ou tu poses des questions sur le forum.

Commentaire de juju12 le 11/11/2007 14:52:39

En plus ton lien prouve rien du tout; désassemble voir une fonction void et tu verras bien.

Commentaire de metanil le 11/11/2007 14:59:54

Brunews > de Juju : "en plus..." !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

SetPixel() ... [ par payen ] Salut a tous,alors voila : j'aimerais faire un petit soft de traitement d'images, mais les images qu'on utilise sont au format brut (c'est a dire 1 pi GetPixel / SetPixel [ par glipper ] Bonjour à tous,j'ai un problème avec la fonction GetPixel. J'appelle une procédure qui doit tester la couleur d'un pixel à l'ecran, mais la valeur ren SetPixel et GetPixel [ par Adeon ] Salut je n'arrive pas a me servir de SetPixel() et GetPixel() en API. Je sais que ca existe mais j'ai des erreurs tout le temps quand je m'en ser. QQ SetPixel(hdc,i,j,RGB..) peut-on utiliser autre chose que RGB [ par izle ] IzLe,la coloration en RGB n'est pas vraiment suffisante avec le type d'image que je produit, j'aimerais soit ajouter un 4ième paramètre de luminosité GetPixel [ par elflink ] Bonjour &#224; tous,Je suis actuellement en train de concevoir un logiciel de lecture vid&#233;o et afin de changer la couleur de certains pixels (ble API Setpixel [ par Stephane ] Salut a tous voila, j'utilise l'API SetPixel pour remplir une zone dont je connais le HDC (pass&#233;e en parametre par une appli VB). Mon probleme e Gestion des couleurs [ par lilington ] salut j'aimerai savoir s'il existe une fonction pour convertire 3 teintes de couleurs en index: j'utilise la fonction SetPixel(Hwnd,int,int,index); Setpixel [ par 69lion69 ] salut, je voudrais juste savoir si quequ'un aurait un exemple ou il utilise les setpixel.Merci Comment utiliser SetPixel dans ma DLL ? [ par YoYoDev21 ] Bonjour,Je d&#233;veloppe une DLL en C afin d'acc&#233;l&#233;rer certain traitement fait dans un programme VB6.Entre autre, je voudrais que la DLL re [Dev-C++] SetPixel et WM_PAINT mais sans fenêtre [ par Isoth0p ] Bonjour. Je voudrais savoir s'il serait possible d'utiliser la fonction SetPixel dans un WinMain SANS cr&#233;er de fen&#234;tre et qu'elle se comport


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,342 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales