这是C的中点画圆算法
void circlepoints (int x,int y,int color)
{
drawpixel(x,y,color);drawpixel(y,x,color);
drawpixel(-x,y,color);drawpixel(y,-x,color);
drawpixel(x,-y,color);drawpixel(-y,x,color);
drawpixel(-x,-y,color);drawpixel(-y,-x,color);
}
midpointcricle(int r,int color)
{
int x,y;
float d;
x=0;y=r;d=1.25-r;
circlepoints(x,y,color);
while(x<=y)
{
if(d<0)
d+=2*x+3;
else {d+=s*(x-y)+5;y--};
x++;
criclepoints(x,y,color); }
}
怎么把他装换为C#的?麻烦大家帮下忙.......
void circlepoints (int x,int y,int color)
{
drawpixel(x,y,color);drawpixel(y,x,color);
drawpixel(-x,y,color);drawpixel(y,-x,color);
drawpixel(x,-y,color);drawpixel(-y,x,color);
drawpixel(-x,-y,color);drawpixel(-y,-x,color);
}
midpointcricle(int r,int color)
{
int x,y;
float d;
x=0;y=r;d=1.25-r;
circlepoints(x,y,color);
while(x<=y)
{
if(d<0)
d+=2*x+3;
else {d+=s*(x-y)+5;y--};
x++;
criclepoints(x,y,color); }
}
怎么把他装换为C#的?麻烦大家帮下忙.......
解决方案 »
- 在Vs2010C#的窗体中怎样插入Flash动画?
- 一个Out Of Memory的问题
- 为什么不是1+2=3而是4呢?
- 增加一个触发器后,无法捕捉到表的自增字段的值
- 如何可以实现在一个窗体中一个小球图形从上往下掉下?不使用pictureBox控件?
- 有没有人知道MSMQ如何远程读取消息,希望高手关注!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 二进制转换十六进制
- 关于socket UDP通信问题,有过这方面研究的朋友请进来看下
- 关于FileSystemWatcher的小问题
- 后台List对象怎么传到前台js,js怎么获取传过来的List
- c#不让操作指针指向的内存?
- 值传递问题(高手进)
/// 中心画圆
/// </summary>
/// <param name="g"></param>
/// <param name="x">中点的X坐标</param>
/// <param name="y">中点的Y坐标</param>
/// <param name="r">半径</param>
/// <param name="color">线条颜色</param>
void circlepoints(Graphics g, int x, int y, int r,Color color)
{
g.DrawEllipse(new Pen(color), new Rectangle(x - r, y - r, r * 2, r * 2));
}
大家帮忙啊
晕,不调用gdi+,我们怎么把点画出来,难道让我用“*”表示,还是你让我用api画
[DllImport("gdi32.dll", EntryPoint = "SetPixelV")]
public static extern int SetPixelV(
IntPtr hdc,
int x,
int y,
int crColor
);其他的,你自己看着办。有关hdc,你可以
private void mainForm_Paint(object sender, PaintEventArgs e)
{
var g = e.Graphics;
var hdc = g.GetHdc(); //获取hdc var color = Color.Red.ToArgb(); //设置颜色
//
这中间写你自己的函数,画点函数为 SetPixelV(hdc,x,y,color);
//
g.ReleaseHdc(hdc);//释放hdc
}