如何在 F# 或 C# 中将像素绘制到位图上而不是抗锯齿点?

How to plot a pixel onto Bitmap in F# or C# rather than an anti-aliased point?

我经常使用 System.Drawing 和 System.Windows.Forms 将像素绘制到位图,但我注意到它实际上从来不是一个像素。它更像是一个边缘模糊的 3x3 点。我怎样才能只绘制一个像素?目前我正在使用 bitmap.SetPixel(x, y, color).

F#

open System.Drawing

let bitmap = new Bitmap(256, 256)

for x in 0 .. 255 do
    for y in 0 .. 255 do
        bitmap.SetPixel(x, y, Color.White)

显示位图时,可以关闭抗锯齿。

graphics.SmoothingMode = SmoothingMode.None;
graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
graphics.PixelOffsetMode = PixelOffsetMode.Half;

Bitmap.SetPixel 只改变一个像素,不会产生任何抗锯齿效果。