如何使用圖形繪製創建256x256色彩空間圖像?目前我使用指針來遍歷每個像素位置並進行設置。藍色從0到255在X上,綠色從0到255在Y上。圖像初始化如此。如何繪畫?
Bitmap image = new Bitmap(256, 256);
imageData = image.LockBits(new Rectangle(0, 0, 256, 256),
ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
for (int row = 0; row < 256; row++)
{
byte* ptr = (byte*)imageData.Scan0 + (row * 768);
for (int col = 0; col < 256; col++)
{
ptr[col * 3] = (byte)col;
ptr[col * 3 + 1] = (byte)(255 - row);
ptr[col * 3 + 2] = 0;
}
}
我有一個滑塊,其上的紅色爲0 ... 255。在每個卷軸上,它都會經過這個循環並更新圖像。
for (int row = 0; row < 256; row++)
{
byte* ptr = (byte*)imageData.Scan0 + (row * 768);
for (int col = 0; col < 256; col++)
{
ptr[col * 3 + 2] = (byte)trackBar1.Value;
}
}
我已經想通了如何使用嘉洛斯而不是爲滾動的一部分,但我怎麼能初始化圖像,而無需使用指針或SetPixel?
爲什麼使用指針? –
我使用指針,因爲它是最簡單的方法來理解和使用,因爲我可以直接用循環更新值。它比使用GetPixel和SetPixel的替代方法更快。 – Jack