【发布时间】:2012-05-31 18:47:00
【问题描述】:
我一直在创建的控件中使用以下子控件,以便更快地修改位图中的像素:
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,但每个指数代表什么?一开始我以为是这样设置的:
数组-> [像素 0,0 的 R][像素 0,0 的 G][像素 0,0 的 B][像素 2,0 的 R][像素 2 的 G, 0][B of Pixel 2,0]
然而,这似乎并不正确。
【问题讨论】:
标签: vb.net arrays rgb lockbits