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

Langage Delphi Discussion :

Condition et contenu TImage


Sujet :

Langage Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Condition et contenu TImage
    Bonjour,
    j'ai beau chercher, je ne trouve pas comment faire un programme capable de faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    If [contenu de image 1]="c:\bonjour.bmp then
    begin
     
    end;
    si quelqu'un peu m'aider...

  2. #2
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Ca n'est pas possible.

    Quand tu selectionne une image Via Delphi les donnees de cette image son incorporees en tant que ressource dans le programme. Tu peux supprimer l'original, Ton programme continuera de tourner comme il faut.

    Pour la creation dynamique, le principe est le meme. Delphi charge en memoire les donnees et rend le programme independant de l'original.

    Je suppose que dans ton cas tu charge dynamiquement plusieurs images dans un meme composant TImage a different moment de l'execution (sinon je vois pas l'interet de la question :/)

    Dans ce cas lorsqu'une image est chargee depuis un fichier (via la methode LoadFromFile) met a jour la propriete Tag du composant TImage a une valeur que tu definie.
    Exemple :
    Tag := 1 <=> c:\image1.bmp
    Tag := 2 <=> c:\image2.bmp, etc.

    ainsi en testant la propriete tag, tu saura a partir de quel fichier original l'image aura ete chargee.

    Definition de la propriete Tag par Delphi :
    Stocke une valeur entière dans un composant.

    Tag n'a pas de signification prédéfinie.La propriétéTag est fournie pour les besoins des développeurs.Elle est proposée pour stocker une valeur entière ou elle peut être transtypée sur n'importe quelle valeur 32 bits,comme une référence de composant ou un pointeur.
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Merci pour l'info
    Je ne connaissait meme pas la propriete "Tag"

  4. #4
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Slt!

    On peut aussi imaginer un TStrings pour sauver les noms de fichier. Tu te sert de l'index...

    La solution (la plus lourde) serait de réaliser une fonction qui compare les images.
    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    {----------------------------------------------------------------}
    Function IsThisFile(im:Timage;fn:string):Boolean;
    var x,y:integer;fim:TImage;
    Begin
     fim:=Timage.Create(Nil);
     fim.Picture.Bitmap.LoadFromFile(fn);
     Result:=True;
     If not((im.Width=fim.Width)and(im.Height=fim.Height))then
      Result:=False else
     For y:=0 to im.Height-1 do
      For x:=0 to im.Width-1 do
       if(im.Picture.Bitmap.Canvas.Pixels[x,y]<>
         fim.Picture.Bitmap.Canvas.Pixels[x,y])then
      Begin Result:=False;Break;End;
     fim.Free;
    End;
     
    {----------------------------------------------------------------}
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if(IsThisFile(Image1,'test.bmp'))then ShowMessage('Image1 is test.bmp');
    end;
    Bon, là je compare la taille des images, sinon tous les pixels du bitmap.
    Mais tu peux alléger la détection suivant ton appli, ou alors utilises plutôt ScanLine.

    à+
    De retour parmis vous après 10 ans!!

  5. #5
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Oualalalala !!! C'est pas un peu l'usine a gaz ?!?!?

    Le plus facile (et propre) Reste quand meme de trouver un paliatif a cette propriete "Filename" manquante :

    Soit par Tag ...
    Soit en implementant une Classe TImage2 derivee de la classe TImage avec cette proprietee .... Et pkoi pas surcharger la methode LoadFromFile ?? Comme ca la proprietee (mise en lecture seule pour plus de securite) est automatiquement renseignee ...
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

  6. #6
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    oui bien d'accord, à moins d'avoir des fichiers dont les données peuvent changer...
    Mais je suppose que ce n'est pas le cas ici, à+
    De retour parmis vous après 10 ans!!

  7. #7
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Oki ... je m'incline
    On passe du temps a vous repondre, alors soyez sympas, passez du temps ..... a vous relire !
    --
    Pourquoi tant de haine pour cette pauvre aide Delphi ????
    Aiiimezzz laaaaa .... Si-Non-Cham-Pi-Gnon !!!
    --
    Pour plus de Renseignements : Venez me rejoindre sur Msn .... Promis je mords pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Show table sous condition de contenu
    Par josse34 dans le forum Requêtes
    Réponses: 5
    Dernier message: 27/10/2013, 16h44
  2. MySQL/PHP Show table sous condition de contenu
    Par josse34 dans le forum Langage
    Réponses: 3
    Dernier message: 27/10/2013, 15h24
  3. Condition sur contenu d'un champ
    Par Titus94120 dans le forum Langage
    Réponses: 7
    Dernier message: 05/06/2008, 17h11
  4. Condition contenu dans une variable string
    Par tomo0013 dans le forum Access
    Réponses: 6
    Dernier message: 01/12/2005, 14h15
  5. Perte partielle du contenu d'un TImage
    Par Gaadek dans le forum Composants VCL
    Réponses: 7
    Dernier message: 24/10/2005, 19h08

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