Question BitmapSource.CopyPixels - Quel est le bon rapport qualité / prix?


J'essaie d'obtenir les données de pixel d'un WPF BitmapSource objet. Si je comprends bien, cela peut être accompli en appelant son CopyPixels méthode. Cette méthode nécessite un paramètre de pas que je ne sais pas comment obtenir. Pour autant que je sache, la foulée est une valeur utilisée lors de la progression dans le tableau lors de la lecture ou de la copie. Quelle serait une valeur de foulée appropriée pour tout BitmapSource?


12
2017-10-07 12:58


origine


Réponses:


Vous pouvez utiliser stride = pixel_size * image_width valeur. Par exemple, pour les bitmap RGBA avec une largeur de 100 pixels, stride = 400.

Certaines applications peuvent nécessiter un alignement de ligne spécial. Par exemple, les bitmaps Windows GDI nécessitent un alignement de ligne de 32 bits. Dans ce cas, pour un bitmap RVB de largeur = 33, la valeur de la foulée 33 * 3 = 99 doit être modifiée à 100 pour que l'alignement de la ligne 32 bits se fasse dans le tableau de destination.

En règle générale, vous devez connaître les exigences du tableau de destination. En l'absence d'exigences particulières, utilisez default_size * image_wize.


20
2017-10-07 13:05