Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1407 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] tableau et pointeur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi] tableau et pointeur

n°1241682
ffomnislas​h
Posté le 08-11-2005 à 20:30:36  profilanswer
 

:hello:  
 
Ma question va peut être sembler basique à certain mais cela fait un petit moment que je suis dessus et je commence à avoir mal à la tête :p
Tout d'abord vous devez savoir que j'utilise une libraire que je n'ai pas écrite personnelement, ce qui explique que je bloque sur certains points.
 
 
Mon problème est:
Je dispose de ces 2 éléments:
- Buffer: PByte
- BufferLen: Integer
- le format du pixel (8, 16, 24, 32)
- ainsi que la largeur/hauteur de l'image en pixels.
 
Je soupsonne BufferLen d'être la longueur du Buffer, en octet vu le type du buffer.
Ce buffer contient une image.
 
J'ai besoin de faire des opérations sur cette image, la soustraire à une autre. L'idée étant que si le résultat est noir alors les 2 images sont équivalentes.
 
Mon raisonnement.
Si le format du pixel = 8bits alors une case du Buffer = un pixel = une couleur
Si c'est 32 alors 2 cases du buffer = 1 pixel = une couleur
ainsi de suite.
 
L'un de mes problemes, j'en ai surement d'autres^^ est dans le cas ou un pixel >= 2 cases du buffer.
Je ne sais pas trop comment faire pour récupérer la couleur.
- Additionner les n cases ?
- les concaténer? soit multiplier par 1111 1111b.
 
Actuelelment mon code ne donne rien mais c'est un gros bordel de tests. Je vais donc faire une pause et recommencer tous ceci demain matin.  
 
En attendant je me suis dit que certains auraient peut être des suggestions pouvant m'aider.
 
merci d'avance ;)


Message édité par ffomnislash le 08-11-2005 à 20:30:48
mood
Publicité
Posté le 08-11-2005 à 20:30:36  profilanswer
 

n°1243232
Zozol
Posté le 10-11-2005 à 14:59:53  profilanswer
 

Pas super clair ton histoire....Je comprend mème pas si tu est debutant en infographie ou si ton problème est trop complexe pour que je ne le saisisse  :??:  
Allez! Je part de la 1ere hypothese
Si les deux images sont au meme format (meme dimension, meme nombre de bit et (dans le cas d'un 8 bit) meme palette), le probleme est tout con: tu prend chaque octect du premier buffer, tu soustrait à celui corespondant(ie en traitant betement comme des octect, t'ocpe pas de conaitre la taille des pixels) dans le second et tu obtien une nouvelle image ou tout ce qui n'est pas noir est la diference.
 
Maintenant, si tu souhaite "isoler" les couleurs, ca se decompose généralement(je dit bien GENERALEMENT) comme ça:
 
24 bits: En codage classique RGB, le 1er octect donne le niveau de rouge, le 2ieme le vert(green) et le 3ieme le bleu. C'est de loin le format le plus "sympa" à utiliser
16 bit : meme principe que le 24 bits, sauf que que 1 couleur est codé sur 6 bit (le rouge, je croi) et les 2 autres sur 5
32 bits: 2 possibilité:
           1) 1 couleur codé sur 10 bits et les 2 autres sur 9
           2) 3 couleur codés sur 8 bits, le 4ieme octect donne la transparence
8 bits : L'image utilise 256 couleur sur une palete de 2^24 (ou 2^32). La couleur n°1 corespond à une couleur sur 24 bits, la n°2 à une autre ect.... Le tableau de corespondance est en entete du fichier (là, faudra le retrouver toi mème)
 
Y'a aussi possiblité que ce soit codé en YUV et non en RGB (explications ici :http://www.metagames-fr.com/Article75_Les-codages-de-Couleurs.php)
Good luck....surout si j'ai repondu completement à coté  :sweat:


Message édité par Zozol le 10-11-2005 à 15:02:01

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] tableau et pointeur

 

Sujets relatifs
[Delphi 6] IDE: Sauvegarde des signets, possible ?overflow: auto et tableau
copier dans une case d'un tableau d'entier 4 bytesRécupérer la taille d'un tableau associatif
Coment écrire dans une case d'un tableau [Résolu ]trier plusieurs tableau de mem dimension avec un unique ?
Trier un tableau par date ...Delphi perso : les versions ?
recupere ou mettre a jour un tableau de double dans une classeASP pb pour créer un lien qui inclueraient une page dans un tableau
Plus de sujets relatifs à : [Delphi] tableau et pointeur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR