Мне нужно заполнить прямоугольник черно-белым (прозрачным) градиентом. Тем не менее, я смог найти только класс GradientBrush
, и все найденные мной примеры показали плавный переход, и я хочу резкие полосы. Вот что мне нужно:Как создать «острый» градиент в Windows Forms?
1
A
ответ
2
в этом коде я использую PictureBox, играть с 'к' и 'я'
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
int k = 20;
Color mycolor = new Color();
for (int i = 0; i < 10; i++)
{
mycolor = Color.FromArgb(i * k, i * k, i * k);
SolidBrush mybrash = new SolidBrush(mycolor);
e.Graphics.FillRectangle((Brush)mybrash, 0 + i * k, 0, k, k);
}
}
Удачи!
4
Вам необходимо усреднить цвета между цветом начала и цветом конца. Вот процедура, которая делает все, что, используя формулу усреднения здесь: Generate Color Gradient in C#
private void PaintGradientBars(Graphics g, Rectangle r,
Color startColor, Color endColor, int numBars) {
int rMin = startColor.R;
int gMin = startColor.G;
int bMin = startColor.B;
int rMax = endColor.R;
int gMax = endColor.G;
int bMax = endColor.B;
int left = 0;
for (int i = 0; i < numBars; i++) {
int rAvg = rMin + (int)((rMax - rMin) * i/numBars);
int gAvg = gMin + (int)((gMax - gMin) * i/numBars);
int bAvg = bMin + (int)((bMax - bMin) * i/numBars);
Color useColor = Color.FromArgb(rAvg, gAvg, bAvg);
int width = (r.Width - left)/(numBars - i);
using (SolidBrush br = new SolidBrush(useColor)) {
g.FillRectangle(br, new Rectangle(left, 0, width, r.Height));
}
left += width;
}
}
Затем сделать простой вызов:
private void panel1_Paint(object sender, PaintEventArgs e) {
PaintGradientBars(e.Graphics, panel1.ClientRectangle,
Color.Blue, Color.Green, 5);
}
Результирующее в:
Смежные вопросы
- 1. Как создать форму в Windows Forms?
- 2. Xamarin Forms Teechart - согласованный градиент
- 3. Как создать файл .exe из Windows Forms
- 4. Как создать combobox БЕЗ Windows Forms
- 5. Создать консольное приложение в приложении Windows Forms
- 6. Как создать изогнутый градиент?
- 7. Как создать градиент в Spritekit?
- 8. Узлы в Windows Forms
- 9. Графика в Windows Forms
- 10. Windows и Windows Forms
- 11. Как создать элемент управления вкладкой в iOS, подобный Windows Forms?
- 12. Как создать ярлыки Alt в приложении Windows Forms?
- 13. Как создать шрифт с точной высотой символов в Windows Forms?
- 14. Как создать вертикальную панель навигации в Windows Forms?
- 15. Как создать меню просмотра дерева в Windows Forms?
- 16. Как создать форму параметров в C# Windows Forms?
- 17. Как создать приложение Windows Forms (C#) в один файл exe?
- 18. Как создать сложные сочетания клавиш в приложении Windows Forms?
- 19. Quicken как приложение Windows Forms
- 20. Async в Windows Forms
- 21. DirectX9 в Windows Forms
- 22. Многопоточность в Windows Forms
- 23. Многопоточность в Windows Forms
- 24. «Расширитель» в Windows Forms
- 25. WPF в Windows Forms
- 26. Gmail в Windows Forms
- 27. Ошибка в Windows Forms
- 28. C# Windows Forms коммутации
- 29. Округление заголовков в Windows Forms
- 30. Создание диаграммы в Windows Forms