Произвольное рисование на страницах отчета

Обсуждение Stimulsoft Reports.NET
Ответить
Denov
Сообщения: 23
Зарегистрирован: 27 сен 2011, 12:00
Откуда: Russia
Контактная информация:

Произвольное рисование на страницах отчета

Сообщение Denov »

Такое вообще возможно: рисовать свои какие-нибудь фигуры на странице отчета?
Например, сделал такой код:

Код: Выделить всё

public Report()        
{
    this.InitializeComponent();
	var myPanel = new StiPanel();
	myPanel.Left = 1;
	myPanel.Top = 2;
	myPanel.Width = 5;
	myPanel.Height = 3;
	myPanel.Brush = new StiEmptyBrush(); // Делаем фон прозрачным
	myPanel.Border.Side = StiBorderSides.None; // Убираем границу

	// Подписываемся на событие
	myPanel.Painting += MyPanel_Painting;

	// Добавляем panel на страницу ПОВЕРХ других компонентов
	Page1.Components.Add(myPanel);
}


private void MyPanel_Painting(object sender, Stimulsoft.Report.Events.StiPaintEventArgs e)
{
	MessageBox.Show("1");
	var g = e.Graphics;

	// Центр звезды и радиусы
	float centerX = 5f; // 5 см от левого края
	float centerY = 5f; // 5 см от верхнего края
	float outerRadius = 2f; // Радиус внешних вершин
	float innerRadius = 0.8f; // Радиус внутренних вершин

	// Создаем массив для 10 точек (5 внешних + 5 внутренних вершин)
	PointF[] points = new PointF[10];

	// Угол шага между вершинами (в радианах)
	double step = Math.PI / 5;

	for (int i = 0; i < 10; i++)
	{
		double angle = Math.PI / 2 + i * step; // Начинаем с верхней вершины (π/2)
		double radius = i % 2 == 0 ? outerRadius : innerRadius;

		points[i] = new PointF(
			centerX + (float)(radius * Math.Cos(angle)),
			centerY + (float)(radius * Math.Sin(angle))
			);
	}

	// Рисуем звезду
	using (SolidBrush brush = new SolidBrush(Color.Gold))
	using (Pen pen = new Pen(Color.Orange, 10f))
	{
		g.FillPolygon(brush, points);
		g.DrawPolygon(pen, points);
	}
}
Но событие MyPanel_Painting не вызывается почему-то. Есть ли способ реализовать отрисовку произвольных фигур в отчете?
Aleksey
Сообщения: 3022
Зарегистрирован: 22 апр 2010, 06:57

Re: Произвольное рисование на страницах отчета

Сообщение Aleksey »

Здравствуйте,

Посмотрите следующий пример
https://www.stimulsoft.com/en/samples/r ... e-designer

Спасибо.
Ответить