Question

En C # j'ai un picturebox. Je voudrais attirer 4 couleurs. La valeur par défaut sera blanc, rouge, vert, bleu. Comment puis-je dessiner ces 4 couleurs stritched dans cette PicBox? ou devrais-je avoir 4 PicBox? dans ce cas, comment puis-je configurer la couleur rgb?

Était-ce utile?

La solution

Vous devez spécifier ce que vous voulez spécifiquement attirer. Vous ne pouvez pas dessiner un rouge - qui n'a aucun sens. Il est toutefois possible, tracer un rectangle rouge à l'emplacement (0,0) qui est de 100 pixels de hauteur et 100 de large. Je répondrai ce que je peux, cependant.

Si vous souhaitez définir le contour d'une forme à une couleur spécifique, vous devez créer un l'objet de stylo. Si vous voulez remplir une forme avec une couleur, cependant, vous utilisez un objet pinceau. Voici un exemple de la façon dont vous dessinez un rectangle rempli de rouge, et un rectangle indiquée en vert:

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

Autres conseils

Ajoutez un PictureBox à la forme, créer un gestionnaire d'événements pour l'événement de peinture, et la faire ressembler à ceci:

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

Cela divise la surface en 4 rectangles et peindre chacun d'eux dans les couleurs blanc, rouge, vert et bleu.

Si vous voulez utiliser des couleurs prédéfinies non, alors vous devez obtenir un objet couleur de la méthode statique Color.FromArgb ().

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

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

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

Cordialement
Oliver Hanappi

scroll top