Вопрос по c#, drawing, picturebox, graphics – Рисование цветов в картинке?

1

В C # у меня есть картинка. Я хотел бы нарисовать 4 цвета. По умолчанию будет белый, красный, зеленый, синий. Как мне нарисовать эти 4 цвета в этой коробке? или я должен иметь 4 Picbox? в таком случае, как мне установить цвет RGB?

Ваш вопрос довольно расплывчатый. Хотите нарисовать прямоугольники в каждой части? Рисовать пиксели? Какие? Dykam

Ваш Ответ

3   ответа
2

создайте обработчик события для события рисования и сделайте так, чтобы он выглядел следующим образом:

private void PictureBox_Paint(object sender, PaintEventArgs e)
{
    int width = myPictureBox.ClientSize.Width / 2;
    int height = myPictureBox.ClientSize.Height / 2;

    Rectangle rect = new Rectangle(0, 0, width, height);
    e.Graphics.FillRectangle(Brushes.White, rect);
    rect = new Rectangle(width, 0, width, height);
    e.Graphics.FillRectangle(Brushes.Red, rect);
    rect = new Rectangle(0, height, width, height);
    e.Graphics.FillRectangle(Brushes.Green, rect);
    rect = new Rectangle(width, height, width, height);
    e.Graphics.FillRectangle(Brushes.Blue, rect);
}

Это разделит поверхность на 4 прямоугольника и раскрасит каждый из них в цвета Белый, Красный, Зеленый и Синий.

0

то вам нужно получить объект Color из статического метода Color.FromArgb ().

int r = 100;
int g = 200;
int b = 50;

Color c = Color.FromArgb(r, g, b);

Brush brush = new SolidBrush(c);
//...

С уважением
Оливер Ханаппи

8

что именно вы хотели бы нарисовать. Вы не можете нарисовать красный - это не имеет смысла. Однако вы можете нарисовать красный прямоугольник в месте (0,0), которое имеет высоту 100 пикселей и ширину 100 пикселей. Я отвечу, что могу, однако.

Если вы хотите установить контур фигуры на определенный цвет, вы должны создатьРучка объект. Однако, если вы хотите заполнить фигуру цветом, вы должны использовать объект Brush. Вот пример того, как бы вы нарисовали прямоугольник, заполненный красным, и прямоугольник, обведенный зеленым:

private void pictureBox_Paint(object sender, PaintEventArgs e)
{
    Graphics graphics = e.Graphics;

    Brush brush = new SolidBrush(Color.Red);
    graphics.FillRectangle(brush, new Rectangle(10, 10, 100, 100));

    Pen pen = new Pen(Color.Green);
    graphics.DrawRectangle(pen, new Rectangle(5, 5, 100, 100));
}

Похожие вопросы