首页 > 解决方案 > 如何在图片框的角上绘制圆角?

问题描述

我正在尝试在 0,0 处绘制一个椭圆并且它正在工作,但在图片框 1.Width 的另一侧它没有绘制任何东西:

private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.FillEllipse(Brushes.Purple, 0, 0, 5, 5);
            e.Graphics.FillEllipse(Brushes.Purple, pictureBox1.Width, 0, 5, 5);
        }

结果是一个椭圆在左侧填充为 0,0,但在右侧什么也没有。右边的黄色附近也应该有一个小的紫色点。

在此处输入图像描述

然后在pictureBox1的所有4个角上绘制填充椭圆。

标签: c#winforms

解决方案


结果是一个椭圆在左侧填充为 0,0,但在右侧什么也没有。右边的黄色附近也应该有一个小的紫色点。

这是因为它有点不在屏幕上,您需要调整X坐标。

 e.Graphics.FillEllipse(Brushes.Purple, pictureBox1.Width - 5, 0, 5, 5);

在此处输入图像描述

如果您想要所有四个角:

 int circleSize = 5;

 e.Graphics.FillEllipse(Brushes.Purple, 0, 0, circleSize, circleSize); //top left
 e.Graphics.FillEllipse(Brushes.Purple, pictureBox1.Width - circleSize, 0, circleSize, circleSize); //top right
 e.Graphics.FillEllipse(Brushes.Purple, pictureBox1.Width - circleSize, pictureBox1.Height - circleSize, circleSize, circleSize); //bottom right
 e.Graphics.FillEllipse(Brushes.Purple, 0, pictureBox1.Height - circleSize, circleSize, circleSize); //bottom left

推荐阅读