请问这个圆为什么不圆啊
Graphics graphics = e.CreateGraphics();
SolidBrush brush = new SolidBrush(Color.Blue);
Point point1 = new Point(100,100);
Rectangle rectangle = new Rectangle(point1, new Size(15, 15));
graphics.FillEllipse(brush,rectangle);
请问,为什么刷出来的圆,不圆呢?还号称计算机呢!!! --------------------编程问答-------------------- 你用的是矩形?不是Ecllipse
Graphics graphics = e.CreateGraphics();
SolidBrush brush = new SolidBrush(Color.Blue);
Point point1 = new Point(100,100);
Ecllipse rectangle = new Ecllipse (point1, new Size(15, 15));
graphics.FillEllipse(brush,rectangle);
--------------------编程问答-------------------- 太小了,你把Size改大点就能看出圆了 --------------------编程问答--------------------
--------------------编程问答--------------------
public void DrawEllipseFloat(PaintEventArgs e)
{
Pen redkPen = new Pen(Color.Red, 3);
float x = 0.0F;
float y = 0.0F;
float width = 200.0F;
float height = 200.0F;
e.Graphics.DrawEllipse(readPen, x, y, width, height);
}
可事实上,我只需要这么大的圆啊 --------------------编程问答-------------------- Graphics g1 = this.CreateGraphics();
g1.DrawEllipse(new Pen(Color.Red,2),x,y,w,h);//来空心圆
g1.FillEllipse(Brushes.Red,x,y,w,h);//来实心圆 --------------------编程问答--------------------
Graphics graphics = e.CreateGraphics();
graphics.SmoothingMode = SmoothingMode.AntiAlias;
SolidBrush brush = new SolidBrush(Color.Blue);
Point point1 = new Point(100,100);
Rectangle rectangle = new Rectangle(point1, new Size(15, 15));
graphics.FillEllipse(brush,rectangle);
改为上面的试一下
--------------------编程问答--------------------
路过 , 借鉴...swing.... --------------------编程问答--------------------
还是不圆 --------------------编程问答--------------------
稍好一点,不过,边缘太模糊 --------------------编程问答-------------------- 屏幕输出是整形,打印机才是浮点型 --------------------编程问答--------------------
你的意思,屏幕输出就是不圆吗?可是我在其他地方,看到这么大的圆,就是圆的 --------------------编程问答-------------------- 觉得不圆就自己写算法
计算机图形学 正负法生成圆弧 --------------------编程问答--------------------
只有这个办法,消除锯齿。
或者lz画大一些。 --------------------编程问答--------------------
算法,俺不会呢?啥办法,都想尽了,都不行 --------------------编程问答--------------------
找个你觉得圆的图片再画到Graphics上。 --------------------编程问答--------------------
+1 --------------------编程问答--------------------
drawimage吗?也不行,找了几个ps高手专门做的图,drawimage上去,还是变形.......哎 --------------------编程问答-------------------- 你电脑分辨率的问题了吧 --------------------编程问答--------------------
不是的 --------------------编程问答-------------------- 6楼的已经是最好的办法了,毕竟你的圆实在太小了 --------------------编程问答-------------------- 电脑就是这样的啊,没有真正的圆 --------------------编程问答--------------------
可为什么别人做的这个,就很圆呢?
--------------------编程问答-------------------- 这个圆,长得很有特色 --------------------编程问答-------------------- Graphics graphics = e.Graphics;
graphics.SmoothingMode = SmoothingMode.AntiAlias;
SolidBrush brush = new SolidBrush(Color.Blue);
Point point1 = new Point(100, 100);
Rectangle rectangle = new Rectangle(point1, new Size(15, 15));
graphics.DrawEllipse(Pens.Blue, rectangle);
graphics.FillEllipse(brush, rectangle);
--------------------编程问答-------------------- 哈哈 哈哈
--------------------编程问答-------------------- 外面再把边框描一下就圆了。 --------------------编程问答--------------------
Graphics graphics = this.CreateGraphics();--------------------编程问答-------------------- --------------------编程问答-------------------- 刚才错觉了,就 graphics.SmoothingMode = SmoothingMode.HighQuality 、AntiAlias 就行了。
graphics.SmoothingMode = SmoothingMode.AntiAlias;
SolidBrush brush = new SolidBrush(Color.Blue);
Point point1 = new Point(0, 0);
int i = 1;
for (int x = 1; x < 6; x++)
for (int y = 1; y < 5; y++)
{
i++;
point1 = new Point(x * 25, y * 25);
Rectangle rectangle = new Rectangle(point1, new Size(i, i));
graphics.FillEllipse(brush, rectangle);
}
graphics.Dispose();
--------------------编程问答-------------------- 加入反走样 --------------------编程问答--------------------
反走样?啥意思?怎么用 --------------------编程问答-------------------- 我想到一个办法,多画几次,就可以把不圆的地方,抹圆了
可是,对话几次,这个坐标咋算呢?请教一下 --------------------编程问答-------------------- --------------------编程问答--------------------
这叫反锯齿。乱翻译。 --------------------编程问答-------------------- 你的分辨率问题? --------------------编程问答-------------------- 哈哈 --------------------编程问答-------------------- 中国特色的圆 --------------------编程问答-------------------- WPF抗锯齿,可以试试 --------------------编程问答-------------------- 谁能画一个1x1像素的圆是圆的我就服了他! --------------------编程问答--------------------
显示器上1*1的本身看上去就像圆的 不信你试试 错觉 哈哈 --------------------编程问答--------------------
如果楼主使用27楼这样的办法都没画好 说明问题有2种.
1 你的屏幕分辨率设置有问题 比如说拉伸的屏幕分辨率 原本屏幕尺寸是4:3 你非要安排一个16:9或者16:10的分辨率给它 就可能出现你看到的问题.
2 你的屏幕或者显卡有问题 出现这个问题就真杯具了.. --------------------编程问答-------------------- 先用笔画空心,再去填充试试? --------------------编程问答-------------------- 你是不是画在控件里面的?感觉是圆的直径大于控件大小的效果 --------------------编程问答-------------------- 那个应该是图片吧?gif图片 或者png图片
--------------------编程问答-------------------- 如果是我,我就用PS画个圆,再加载进软件。 --------------------编程问答-------------------- 是人民选择了这个圆。 --------------------编程问答-------------------- 虽然不是很清楚楼主所用的语言 貌似是微软的东西吧~我不搞这一块~但是这种情况下画圆不圆应该是没有设置抗锯齿和颜色抖动造成的~
SolidBrush brush 不过这个bursh应该可以设置像素抖动和防锯齿的
这里有一篇文章仅供参考~
http://www.softwelt.com/Know/KnowDetail-113740.html
望有所帮助
--------------------编程问答-------------------- 话说当年阿Q也画不圆! --------------------编程问答-------------------- 建议参考《windows程序设计》,那里面的范例有关于圆画法的介绍,虽然那个是c的,但是算法用得上,相信楼主能够看得懂的。 --------------------编程问答--------------------
顶。 --------------------编程问答-------------------- 反走样
--------------------编程问答-------------------- --------------------编程问答-------------------- 外方内圆 很强大 --------------------编程问答-------------------- 太小了,你把Size改大点就能看出圆了 --------------------编程问答-------------------- 太小了,你把Size改大点就能看出圆了 --------------------编程问答--------------------
学习,不错 --------------------编程问答--------------------
没有乱翻译,图形学课本上叫反走样 --------------------编程问答-------------------- --------------------编程问答-------------------- 一般调用图片资源~ --------------------编程问答-------------------- --------------------编程问答-------------------- 没啥,只求加分。 --------------------编程问答-------------------- protected override void OnPaint(PaintEventArgs e)
{
this.Width = this.Height;
e.Graphics.FillEllipse(new SolidBrush(ShowColor), e.ClipRectangle);
} --------------------编程问答-------------------- --------------------编程问答-------------------- 它傲娇了 --------------------编程问答--------------------
1*1的圆能看的到吗 --------------------编程问答-------------------- --------------------编程问答-------------------- 咋那么笨呢,不会拿圆规画啊!- -~! --------------------编程问答-------------------- 圆太小
一个一像素大的圆是方的
目前只能像上面的反走样那样做 --------------------编程问答-------------------- 话说当年阿Q也是画不圆呢。 --------------------编程问答-------------------- 居然在方框里面填充圆...
graphics.FillEllipse(brush,rectangle); --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 嘿嘿,有意思 --------------------编程问答-------------------- 楼主的是8角形吧。 --------------------编程问答-------------------- 把尺寸搞大点,显示的时候缩小 --------------------编程问答-------------------- --------------------编程问答-------------------- 搞笑吗? --------------------编程问答-------------------- 不知道的路过.接分走人 --------------------编程问答-------------------- Size大小 --------------------编程问答-------------------- LZ你电脑坏了!!! --------------------编程问答--------------------
幽默了 --------------------编程问答-------------------- 圆形就是方形!! --------------------编程问答-------------------- Graphics graphics = e.CreateGraphics();
graphics.SmoothMode=Anti;
SolidBrush brush = new SolidBrush(Color.Blue);
Point point1 = new Point(100,100);
Rectangle rectangle = new Rectangle(point1, new Size(15, 15));
graphics.FillEllipse(brush,rectangle);
--------------------编程问答-------------------- 终于圆了!!!
补充:.NET技术 , C#