First we are locking bits then on that image we are drawing
Bitmap canvas = new Bitmap(pictureWater.Width, pictureWater.Height);
BitmapData data = canvas.LockBits(new Rectangle(0, 0, width, height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
byte* pixel = (byte*)data.Scan0.ToPointer();
pixel[0] = color.B;
pixel[1] = color.G;
pixel[2] = (byte)0;
pixel[3] = (byte)255;
And the solution is running on 32 bit platform