Bonjour,
Dans le cadre d'un traitement d'image, je souhaite effectuer par exemple un flou gaussien. J'ai donc besoin d'accéder à plusieurs ligne de pixel à la fois, comment puis-je réaliser cela en utilisant la commande scanline?
Voici mon code actuel qui me permet d'accéder aux lignes du bitmap une par une.
Il me faudrais un truc du genre array of array of pRGBTripleArray mais ca ne marche pas.
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 TYPE pRGBTripleArray = ^TRGBTripleArray; TRGBTripleArray = ARRAY[0..PixelCountMax-1] OF TRGBTriple; var BitmapOriginal, BitmapDeReference: TBitmap; Row: pRGBTripleArray; FOR j := 0 TO BitmapDeReference.Height-1 DO begin Row := BitmapDeReference.Scanline[j]; FOR i := 0 TO BitmapDeReference.Width-1 DO begin WITH Row[i] DO begin rgbtRed := 255; // pixels jaunes rgbtGreen := 255; rgbtBlue := 0; end end end;
D'avance merci,
Pascal.
Partager