Я использую следующий элемент управления в своем элементе управления, который я создаю, чтобы позволить мне быстрее изменять пиксели в растровом изображении:
Protected Sub LockForMemory()
idata = ime.LockBits(New Rectangle(0, 0, ime.Width, ime.Height), ImageLockMode.WriteOnly, ime.PixelFormat)
ipoint = idata.Scan0
ibytes = Math.Abs(idata.Stride) * ime.Height
ReDim irgbvalues(ibytes - 1)
System.Runtime.InteropServices.Marshal.Copy(ipoint, irgbvalues, 0, ibytes)
End Sub
Все это работает, позже, когда я получаю фактическое изображение после манипуляции, оно также работает нормально. Проблема заключается в установке этих фактических пикселей.
Из чего состоит этот массив? Я знаю, что он заполнен Integers
, но что представляет каждый индекс? Сначала я думал, что он настроен так:
Массив-> [R пикселя 0,0][G пикселя 0,0][B пикселя 0,0][R пикселя 2,0][G пикселя 2,0][ B пикселей 2,0]
Однако это не работает правильно.