Pytanie w sprawie c#, graphics, picturebox, drawing – Kolory rysunków w pudełku na zdjęcia?

1

W C # mam box do zdjęć. Chciałbym narysować 4 kolory. Domyślnie będzie to biały, czerwony, zielony, niebieski. Jak narysować te 4 kolory w tym obrazku? czy powinienem mieć 4 piksele? w takim przypadku jak ustawić kolor rgb?

Twoje pytanie jest dość niejasne. Czy chcesz rysować prostokąty w każdej części? Narysuj piksele? Co? Dykam

Twoja odpowiedź

3   odpowiedź
0

musisz pobrać obiekt Color z metody statycznej Color.FromArgb ().

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

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

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

Z poważaniem
Oliver Hanappi

2

utwórz obsługę zdarzeń dla zdarzenia farby i spraw, by wyglądało to tak:

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);
}

Spowoduje to podzielenie powierzchni na 4 prostokąty i pomalowanie każdego z nich w kolorach Biały, Czerwony, Zielony i Niebieski.

8

co chcesz narysować. Nie możesz narysować czerwonego - to nie ma sensu. Możesz jednak narysować czerwony prostokąt w miejscu (0,0), które ma 100 pikseli wysokości i 100 szerokości. Odpowiem jednak, co mogę.

Jeśli chcesz ustawić kontur kształtu na określony kolor, możesz utworzyćDługopis obiekt. Jeśli jednak chcesz wypełnić kształt kolorem, użyłbyś obiektu Pędzel. Oto przykład, w jaki sposób narysowałbyś prostokąt wypełniony czerwienią i prostokąt zaznaczony na zielono:

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));
}

Powiązane pytania