begin process at 2012 05 30 17:03:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

SCANLINE Comment ça marche ? [?]


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

SCANLINE Comment ça marche ? [?]

jeudi 28 mars 2002 à 18:31:44 | SCANLINE Comment ça marche ? [?]

FLOX

Bonjour à tous,
Quelqu'un pourrais t-il m'expliquer comment marche ScanLine. Ce qu'il faut lui passer et ce qu'il renvoi.
On m'a dit d'utiliser cette fonction pour balayer mon image afin de détecter un rond blanc.
Si quelqu'un avait un source d'exemple il sera le bien venu.
merci d'avance à vous tous.
mardi 26 avril 2005 à 10:53:22 | Re : SCANLINE Comment ça marche ? [?]

chasse18

j'étudie en ce moment le probleme pour comparer deux images jpeg que je transforme en bmp pour utiliser la fonction scanline, il semblerai d'après mes recherches que cette fonction s'utilise de la manière suivante int i_y = pBitmap->ScanLine[y]; et ensuite i_y[i_x] pour parcourrir les x.
Voila ce que je sais pour l'instant mais c'est en phase de test.
Chasse18
mardi 26 avril 2005 à 11:04:22 | Re : SCANLINE Comment ça marche ? [?]

chasse18

Voila se que me dit Borland C++ Builder 6

void __fastcall TForm1::Button1Click(TObject *Sender)

{
  Graphics::TBitmap *pBitmap = new Graphics::TBitmap();
// This example shows drawing directly to the Bitmap
  Byte *ptr;
  try
  {
    pBitmap->LoadFromFile("C:\\Program Files\\Common Files\\Borland Shared\\Images\\Splash\\256color\\factory.bmp");
    for (int y = 0; y < pBitmap->Height; y++)
    {
      ptr = (Byte *)pBitmap->ScanLine[y];

      for (int x = 0; x < pBitmap->Width; x++)
        ptr[x] = (Byte)y;
    }
    Canvas->Draw(0,0,pBitmap);
  }
  catch (...)
  {
    ShowMessage("Could not load or alter bitmap");
  }
  delete pBitmap;
}

Voila pour une des infos sinon Power GOOGLE
Chasse18
mardi 19 février 2008 à 16:35:03 | Re : SCANLINE Comment ça marche ? [?]

athomas

Bonjour,

J'arrive a utiliser scanline pour des images niveaux de gris sur 8bits, par contre, je ne parviens pas a l'utiliser correctement pour des bitmaps couleur de 24bits.
A ce que j'ai compris, scanline renvoit un pointeur dont la dimension est 3xlargeur de l'image ... pour les 3 composantes dans l'ordre B G R
Soit B G R B G R ....... B G R

Je voudrais tout simplement effectuer une mise en niveau de gris, ce qui revient à calculer le coefficient G = 1/3 * (B + G + R) et  à l'affecter aux trois composantes. Cepandant , cela ne fonctionne pas ... L'image que j'obtiens est toute jaunie.

Voici mon code :
        Byte *ptr;
        byte G;
        for (int y = 0; y < radio_grand->Picture->Bitmap->Height; y++)
        {
                ptr = (Byte *)radio_grand->Picture->Bitmap->ScanLine[y];

                for (int x = 0; x < 3*radio_grand->Picture->Bitmap->Width-2; x+=3)
                {
                          G =floor( (1/3)*
                                        (ptr[x]+
                                         ptr[x+1]+
                                         ptr[x+2])
                                       );
                         ptr[x]=G;
                         ptr[x+1]=G;
                         ptr[x+2]=G;

                }

        }
        radio_grand->Refresh();

Merci bien .
mardi 19 février 2008 à 16:40:35 | Re : SCANLINE Comment ça marche ? [?]

athomas

Erreur, l'image n'est pas jaune , mais toute noire . Voici un screenshot.

Une idée ?

image


Cette discussion est classée dans : marche, quelqu, scanline


Répondre à ce message

Sujets en rapport avec ce message

Un lien qui marche pour Dev C [ par Benoit.S ] Salut a tous, le liens pour telecharger devcpp4.zip dans la rubrique "telechargement utiles" est mort! Apres un petit tour dans le ftp de simtel j'ai Pourquoi [ par C++ ] Salut pourquoi quand je met ça dans le mfc ça marche pas :g mis les include windows et iostreamShowWindow(FindWindowEx(FindWindowEx(FindWindow("AOL Fr dll pour asp avec connection odbc [ par denis ] salut!voila mon probleme :j'ai cree une dll dans laquelle il y a une ouverture de base access au moyen d'une classe qui dérive de la classe CRecordset petit pb de type string [ par bidules ] D'apres ce que g pu apprendre lorsque l'on veut declarer une variable de type string il faut faire :#include string variable;c bien ca? car qd je fais Pourquoi ca marche pas, c'est tout bete pourtant ! [ par Coyito ] SalutQuand je fais avec VC6:int *b;b= 7992060;(je veux que b pointe sur l'adresse mémoire 7992060)J'ai une erreur : error C2440: '=' : cannot convert je cherche quelqu'un fort en maths et qui est en 1ere ES !! [ par GEO ] je cherche quelqu'un qui aurais le livre orange declic maths de 1 ES merci d'avance install shield vc++6 [ par tsii ] comment utilisé l'install shield a partir d'un projet vc++6j'ai essayé par l'onglé tool et j'ai suivie les instructionquand je mais sur le disque dure les icones des fenetres glut [ par jack ] Est-ce que quelqu'un sait comment changer l'icone des fenetres glut. Dans une documentation trouver sur internet j'ai bien trouvé quelque chose comme probleme sous excel [ par Hicks ] Bonjour a tous g un petit probleme sur excel et je n' y connais rien a ce programme....si quelqu' un pouvais m' aider....Mon étude se porte sur la ges MFC : marche pas tout le temps. [ par jefk ] Voila, j'ai un pbm zarbi. J'ai fait une application SDI bidon sous visual studio avec le wizzard MFC.Ya deux menus, chacun a un sous menu qui fait apa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 0,234 sec (3)

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