Bonjour à tous,
En cette froide journée J'ai besoin d'éclairages pour me mettre sur la voie de la bonne utilisation des caractéristiques d’une image à l'aide de Lazarus, problème auquel je me confronte pour la première fois. J'ai lu les diverses inforamation sur le sujet, ai téléchargé et installé les composanst BGRA mais...
J'ai réussi à charger une image (image acquise par un scan à l'aide de Xnview et de mon imprimate Multifonction. Image au format au format 100*100 ppi en véritables niveaux de gris.
Je cherche à récupérer Les caractéristiques d'un pixel quelconque de cette image (indice(s?)) caractérisant la couleur mais n'arrive pas à trouver les bonnes instructions. J'arrive seulement pour l'instant à afficher ( sur un form indépendant de l'image) à afficher les coordonnée du pixel.
Ci après une partie de mon code :
1 - la récupération de l'image :
2- La partie que je cherche à renseigner :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 procedure TF_VueImg.FormPaint(Sender: TObject); Var Img_Trait1W, Img_Trait1H : Integer ; begin Img_Trait1 := TBGRABitmap.Create(F_ChoixImg.FNE_Img.text) ; Img_Trait1.Draw(Canvas,0,0,True); Img_Trait1W := Img_Trait1.Width ; Img_Trait1H := Img_Trait1.Height ; F_ChoixImg.Ed_TaillImgW.Text := IntToStr(Img_Trait1W) ; F_ChoixImg.Ed_TaillImgH.Text := IntToStr(Img_Trait1H) ; F_ChoixImg.Lb_InfoTaille.Caption := 'Taille : ' + IntToStr(Img_Trait1W)+ ' * ' + IntToStr(Img_Trait1H) + ' Pixels' ; end;
Je vous remercie par avance de vos lumières.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 procedure TF_VueImg.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); Var PixImg : TBGRAPixel; begin F_VueImg.Cursor := CrCross ; F_ChoixImg.Lb_PosX.Caption := 'Pos. X : ' + intToStr(X) ; F_ChoixImg.Lb_PosY.Caption := 'Pos. Y : ' + IntToStr(Y) ; // CoulPix:=Img_Trait1.Pixels[X,Y] ; CE QUI POSE pROBLEME F_ChoixImg.Lb_Color.Caption := 'Niveau gris : ' + IntToStr(CoulPix) ; // JE souhaite récupérer // la (les) informations sur le pixel pointé (info couleur si possible nombre de 0 à N) N : 8 - 16 ou 256 end;
Cordialement
R.O.
Partager