Измените размер изображения, который хотите поместить в круг, чтобы он вписывался в круг, а затем добавьте PictureBox
в форму и добавьте изображение, которое вы хотите отобразить на PictureBox
, установите его местоположение так, чтобы оно было размещено в центр вашего круга вот так:
EDIT: Просто добавьте PictureBox
в форму и разместите его в любом месте, этот код должен работать.
private static void DrawInEllipse(PictureBox picBox, Image img, Rectangle rect)
{
picBox.Width = rect.Width - (int)(rect.Width*0.3f);
picBox.Height = rect.Height - (int)(rect.Width * 0.3f);
picBox.Image = img;
picBox.SizeMode = PictureBoxSizeMode.Zoom;
picBox.BackColor = Color.Transparent;
int picCenterX = (rect.Width - picBox.Width)/2 + rect.Location.X;
int picCenterY = (rect.Height - picBox.Height)/2 + rect.Location.Y;
picBox.Location = new System.Drawing.Point(picCenterX, picCenterY);
}
Как вы можете видеть, независимо от того, насколько большой образ его размер зависит от высоты и ширины вашего эллипса, в отличие от метода dbvega, где размер изображения одинаков и должен быть обрезаны, чтобы соответствовать в эллипс. Кроме того, использование PictureBox
дает множество преимуществ, таких как назначение событий для него, изменить его размер, перемещая его, и т.д.
Использование:
...
int playerWidth = 40;
int playerHeight = 40;
int xPosp = 0;
int yPosp = 0;
SolidBrush pen1 = new SolidBrush(Color.White);
Rectangle rect = new Rectangle(xPosp, yPosp, playerWidth, playerHeight);
e.Graphics.FillEllipse(pen1, rect);
DrawInEllipse(pictureBox1, your_namespace.Properties.Resources.your_image, rect);
...
Ваш ответ не лучший способ, чтобы заполнить эллипс, используя ресурс изображения. Также в окне изображения будет отображаться изображение в прямоугольной форме. Проверьте мой ответ. – dbvega
Он хотел, чтобы круг был белым, твой путь не достигает этого. Как бы вы это разрешили? Да, изображение будет в форме прямоугольника, поэтому я добавил, что он должен установить BackColor в Transparent. –
Еще раз проверьте его вопрос, он не хочет заполнять эллипс изображением, он хочет добавить изображение к уже заполненному эллипсу. Поэтому, возможно, мой ответ не лучший, но он более точен, чем ваш. –