IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

inserer un texte dans une image


Sujet :

C++

  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 51
    Par défaut inserer un texte dans une image
    Salut ,j'ai besoin d'un code source pour inserer un texte dans une image bmp et dans tout les droit(je choisis l'empalacement et la taille) ,il faut que le texte soit invisible .
    merci

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    C'est du watermarking, et c'est pas ici qu'on te donnera un code tout fait. On peut te donner des idées dans le forum algorithmes, et ensuite tu développes et quand tu as des soucis, tu poses les questions qui s'y rapportent.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    J'ai rien compris à ce que tu veux faire
    Si le texte est invisible, ça revient à... rien faire du tout non? A moins que tu ne veuilles dire "translucide"?

  4. #4
    Membre expérimenté Avatar de Ksempac
    Inscrit en
    Février 2007
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 165
    Par défaut
    Non comme le dit Miles cela peut etre utilisé pour du watermarking ou alors de la stéganographie.

    Le but du watermarking est de marquer une image afin de pouvoir identifier qui est le proprietaire de l'image (typiquement utiliser pour proteger un film contre le piratage)

    Le but de la steganographie est de dissimuler un message dans une image. Ainsi on peut passer une innocente image a son contact, qui decodera le message plus tard en privé.

    Par exemple, une méthode classique pour ce genre de choses est d'utiliser la couleur jaune tres mal percue par l'oeil humain mais qui ne pose evidemment aucun probleme pour un ordi.

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    Haaa, ça explique tout

  6. #6
    Membre chevronné Avatar de icer
    Inscrit en
    Janvier 2006
    Messages
    332
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 332
    Par défaut
    [cite]Ainsi on peut passer une innocente image a son contact[/cite]

    Si l'image est innocente, le texte ne l'est pas?

  7. #7
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 51
    Par défaut
    Salut ,merci pour vous repences.
    j'ai un alg de J-C Armici,et j'ai dejas fait le prog en c++ builder il me donne des bons resultat dans le cas ou le texte est dans la 1 position le pb mnt si je veut inserer le texte dans centre de 1 ligne(chaque fois specifier la position) il me donne rien il a besoin de le faire le teste dans chaque position ,et voila le code de coder.
    int x,y,col,g,cpt,max,w,h;
    String txt;
    byte R,G,B,C;

    txt=Memo1->Text;
    w=StrToInt(Image1->Picture->Width);
    h=StrToInt(Image1->Picture->Height);
    max=(w-1)*(h-1);
    if(txt.Length()>max)
    {
    Memo1->Text="";
    ShowMessage("Texte trop long !");
    }
    cpt=1;
    while(cpt<=txt.Length())
    {
    C=byte(txt[cpt]);
    x=(cpt-1)-(((cpt-1)/w)*w);
    y=(cpt-1)/w;
    col=Image1->Canvas->Pixels[x][y];

    R=GetRValue(col);
    G=GetGValue(col);
    B=GetBValue(col);

    R=(R & 248)|(C & 7);
    G=(G & 248)|(C & 56)>>3;
    B=(B & 252)|(C & 192)>>6;
    Image1->Canvas->Pixels[x][y]=RGB(R,G,B);
    cpt=cpt+1;
    }

    //et le code de decoder
    for(y=0;y<h-1;y++)
    {
    Ligne=(Byte *)Image1->Picture->Bitmap->ScanLine[y];
    for (x=0;x<w-1;x++)
    {
    bx = x * 3;
    B = Ligne[bx];
    G = Ligne[bx+1];
    R = Ligne[bx+2];
    C = ((B & 3) << 6)|((G & 7) << 3)|(R & 7);
    if (C==0)
    {
    goto g;
    }
    else
    {
    txt = txt + char(C);
    }

    }
    Memo1->Text= txt;
    g: Memo1->Text= txt;

    et j'ai esseye aussi de faire d'une maniere visible et laisser le choix de position a l'utilisateure le pb ici le nbr de pixel de chaque font ,aide moi svp

  8. #8
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 51
    Par défaut
    je veut esseyer de faire cacher le texte d'une maniere aleatoire dans l'image
    et declarer un vecteure contient les positions de chaque carac avec une matrice pour sauv les x,y donc il faut que ce fichier soit aussi invisible comment le cacher et qd faire le decoder il faut que j'accede a ce fichier le 1
    pour connais les positions.

  9. #9
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Bonjour

    la question c'est comment cacher un fichier?

    Je ne crois pas qu'on puisse sans que quelqu'un ne puisse très facilement le révéler. Sinon, je pense que ca dépend de chaque système d'exploitation (et c'est surement facile à trouver sur google).

    Par contre tu peux envoyer un fichier crypté contenant les infos, dont ton destinataire aura la clé à l'avance (et même dans le fichier tu peux mettre la clé du prochain envoi et ainsi de suite...) Dans ce cas il y a des algos intéressants sur wikipedia

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    hayate, quand je lis ton dernier message, je me dis que tu n'as pas besoin de cacher ton texte. Même en clair, on a du mal à décoder !

  11. #11
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 51
    Par défaut
    bonjour coyotte507
    merci pour la repence mais j'ai pas besoin de cryptage j'ai travaille sur la steganographier (cacher un texte dans une image et cacher une image dans une image).

  12. #12
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par hayate12
    je veut esseyer de faire cacher le texte d'une maniere aleatoire dans l'image
    et declarer un vecteure contient les positions de chaque carac avec une matrice pour sauv les x,y donc il faut que ce fichier soit aussi invisible comment le cacher et qd faire le decoder il faut que j'accede a ce fichier le 1
    pour connais les positions.
    developpe un petit algo simple pour tout mettre dans l image.

    Si tu veux mettre des info a des endroits aleatoire dans la bitmap,
    il est vrai que de prefixer tes info dans l image par un balise de reperage est tres mauvais. Alors tu pourrais faire un algo qui te dissemine ton tableau de position X,Y à des endroits precis et calculable. Ainsi tu recuperera les pos des char a recuperer dans l image. pff... Je trouve ca assez lourd ma fois et il te faut gerer le fait que les info ne doivent pas ecraser les position du tableau...

    Cela dit tu reste dans le domaine du codage à clé secrete. Que tu fasses n importe quoi il te faudra proteger ta clé...

Discussions similaires

  1. Inserer du texte dans une zone de texte
    Par nawack dans le forum Général VBA
    Réponses: 2
    Dernier message: 23/04/2007, 10h43
  2. [Dreamweaver] Modifier texte dans une image
    Par Aspic dans le forum Dreamweaver
    Réponses: 4
    Dernier message: 13/04/2007, 17h17
  3. Ecrire du texte dans une image
    Par jeremy13 dans le forum Images
    Réponses: 11
    Dernier message: 22/01/2007, 16h12
  4. [vb.net 1.1] Faire défilé du texte dans une image
    Par malhivertman1 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 09/11/2006, 16h31
  5. Zone de texte dans une image
    Par sanna dans le forum Algorithmes et structures de données
    Réponses: 21
    Dernier message: 18/03/2005, 22h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo