Bonjour à tous ! :)
J'ai besoin de vos lumières pour réaliser une fonction qui importe le contenu d'un fichier image 1024*1024 format .PNG (16 bits, 1 seul channel grayscale) dans une matrice 1024*1024. La valeur de chaque pixel de l'image se mettant dans la cellule correspondante de la matrice.
exemple: MatriceFinale(x,y) = ValeureImagePixelPosition(x,y)
Je vois comment extraire une couleur avec GetPixel d'un fichier RGB 8 bits par channel avec le code suivant:
J'ai aussi recupéré le debut de la declaration pour stocker un png 16 bits grayscale:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Public Function ExtractR(ByVal CurrentColor As Long) As Byte ExtractR = CurrentColor And 255 End Function Public Function ExtractG(ByVal CurrentColor As Long) As Byte ExtractG = (CurrentColor \ 256) And 255 End Function Public Function ExtractB(ByVal CurrentColor As Long) As Byte ExtractB = (CurrentColor \ 65536) And 255 End Function Private Declare Function GetPixel Lib "GDI32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long) As Long Dim R as Byte, G as Byte, B as Byte Dim Color as Long Color = GetPixel(Picture1.hDC, 35, 42) R = ExtractR(Color) G = ExtractG(Color) B = ExtractB(Color)
Comment realiser ma fonction ?Code:Dim MyBitmap as Bitmap = New Bitmap (1024, 1024, Imaging.PixelFormat.Format16bppGrayScale)
Merci beaucoup pour vos conseils je ne parviens pas à mettre la main sur un tutorial ou un post de forum qui m'eclaire ! 8O