Я хочу сделать что-то вродекак сделать градиент формы фона ребенка с #
Это бар с нанизать на него, и этот бар является ребенок Exe игра
я сделал ребенок-родитель вещь, но я не могу сделать дизайн этого бара правильного
Я попытался это:
private void label1_Paint(object sender, PaintEventArgs e)
{
Rectangle rec = new Rectangle(label1.Location.X, label1.Location.Y, label1.Width/3, label1.Height);
using (LinearGradientBrush brush = new LinearGradientBrush(rec, Color.Transparent, Color.Blue, 45F))
{
e.Graphics.FillRectangle(brush, rec);
}
Rectangle rec3 = new Rectangle(label1.Width/3 - 1, label1.Location.Y, label1.Width/3, label1.Height);
using (LinearGradientBrush brush = new LinearGradientBrush(rec3, Color.Blue, Color.Blue, 45F))
{
e.Graphics.FillRectangle(brush, rec3);
}
Rectangle rec2 = new Rectangle(2 * label1.Width/3 - 1, label1.Location.Y, label1.Width/3, label1.Height);
using (LinearGradientBrush brush = new LinearGradientBrush(rec2, Color.Blue, Color.Transparent, -45F))
{
e.Graphics.FillRectangle(brush, rec2);
}
Font font = new Font("Tahoma", 10f, FontStyle.Bold);
LinearGradientBrush brush2 = new LinearGradientBrush(new Rectangle(0, 0, Width, Height + 5), Color.White, Color.White, LinearGradientMode.Vertical);
e.Graphics.DrawString("Hello", font, brush2, label1.Width/2, label1.Height/2);
}
другой способ:
private void button2_Click(object sender, EventArgs e)
{
Graphics g = label1.CreateGraphics();
Pen p = new Pen(Brushes.Orange);
Point p1 = Point.Empty;
Point p2 = Point.Empty;
int x_start = label1.Width/2, y_start = label1.Location.Y;
int x_size = label1.Width, y_size = 35;
double increment = 0;
double current = 255;
p1.Y = y_start;
p2.Y = y_size;
increment = 255/(double)x_size;
for (int i = x_start; i < x_start + x_size; i++)
{
p1.X = i;
p2.X = i;
g.DrawLine(p, p1, p2);
p.Color = Color.FromArgb((int)current, p.Color);
current -= increment;
}
current = 255;
for (int j = x_start; j >= label1.Location.X; j--)
{
p1.X = j;
p2.X = j;
g.DrawLine(p, p1, p2);
p.Color = Color.FromArgb((int)current, p.Color);
current -= increment;
}
Font font = new Font("Tahoma", 10f, FontStyle.Regular);
LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(label1.Location.X, label1.Location.Y, label1.Width, label1.Height), Color.White, Color.White, LinearGradientMode.Horizontal);
using (StringFormat string_format = new StringFormat())
{
string_format.Alignment = StringAlignment.Center;
string_format.LineAlignment = StringAlignment.Center;
g.DrawString("Hello", font, brush, label1.ClientSize.Width/2, label1.ClientSize.Height/2, string_format);
}
}
отказано в доступе по ссылке изображения, вы можете проверить или добавить изображение здесь? –
@ LP.Gonçalves Я только что изменил ссылку –
Я до сих пор не вижу изображения. Также: что такое «пар»? Опечатка с собственным тегом ??? – TaW