Как добавить собственную тень к элементу диаграммы с помощью Microsoft.Office.Interop.PowerPoint?

Я пытаюсь добавить настраиваемый эффект тени к некоторым элементам диаграммы, например к точке ряда данных.

Мне удалось добавить эффект тени с помощью этого кода:

var format = myChart.SeriesCollection().Item(1).Points(1).Format;
format.Shadow.Type = MsoShadowType.msoShadow25;

И он работает довольно хорошо, хотя интуитивно не было интуитивно понятно понимать и отображать каждый тип тени. После этого я попытался настроить эту тень, задав собственный цвет, размытие, размер, прозрачность, угол и расстояние. Итак, я использовал следующий код:

try { format.Shadow.ForeColor.RGB = Color.Red.ToArgb(); }   // I know I should convert to BGR format
catch (Exception ex) { Console.WriteLine(ex.ToString()); }  // However, it always throws an exception

try { format.Shadow.Blur = 9.0f; } 
catch (Exception ex) { Console.WriteLine(ex.ToString()); }  // Always an exception is thrown

try { format.Shadow.Size= 25.0f; } 
catch (Exception ex) { Console.WriteLine(ex.ToString()); }  // Always an exception is thrown

try { format.Shadow.Transparency = 0.3f; } 
catch (Exception ex) { Console.WriteLine(ex.ToString()); }  // Always an exception is thrown

К сожалению, для каждого свойства я получаю следующее исключение:

"System.InvalidCastException: указанное приведение недопустимо".

Почему я получаю это исключение? Кроме того, как установить угол и расстояние? Должен ли я использовать OffsetX и OffsetY?

Я также попытался взглянуть на этот вопрос для пользовательского переднего цвета, но все равно получаю то же исключение.

Как я могу настроить тень на моем графике?

Любая помощь будет оценена.

0 ответов

Другие вопросы по тегам