C# 在位图上使用SetPixel时,如何更改像素大小?

C# 在位图上使用SetPixel时,如何更改像素大小?,c#,winforms,C#,Winforms,我将像素设置为红色的新位图。 在表格1中,我在图片B中显示了newbitmap: newbitmap.SetPixel((int)clouds1[x].X, (int)clouds1[x].Y, Color.Red); 但是像素非常小,几乎无法在图片上看到。 如何使像素变大?你不能,但你可以画一个圆 pictureBox3.Image = CloudEnteringAlert.newbitmap; 我创建了一个扩展方法,简化了绘制圆的过程(这里使用浮动坐标): 如果你的云是PoinF,你可以

我将像素设置为红色的新位图。 在表格1中,我在图片B中显示了newbitmap:

newbitmap.SetPixel((int)clouds1[x].X, (int)clouds1[x].Y, Color.Red);
但是像素非常小,几乎无法在图片上看到。
如何使像素变大?

你不能,但你可以画一个圆

pictureBox3.Image = CloudEnteringAlert.newbitmap;
我创建了一个扩展方法,简化了绘制圆的过程(这里使用浮动坐标):

如果你的云是
PoinF
,你可以这样称呼它:

public static void FillCircle(this Graphics g, Brush brush,
                              PointF center, float radius)
{
    g.FillEllipse(brush, center.X - radius, center.Y - radius,
                         radius + radius, radius + radius);
}
如果没有,则相应地调整扩展方法。将此类扩展方法放置在静态类中

为了获得平滑的圆,可以使用抗锯齿。在绘制圆之前,将
图形
对象的
平滑模式
设置为所需值:

using(var g = Graphics.FromImage(newbitmap)) {
    g.FillCircle(Brushes.Red, clouds1[x], radius);
}

你可以画矩形<代码>矩形myRectangle=新矩形(100,50,80,40);myGraphics.DrawRectangle(myPen,myRectangle)。。。或者使位图变小此答案似乎假定
newbitmap
是一个
Graphics
对象。。不是位图(如问题中所示)。是的,我错了。您必须从位图创建
图形
上下文。更正了示例。
using(var g = Graphics.FromImage(newbitmap)) {
    g.FillCircle(Brushes.Red, clouds1[x], radius);
}
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;