2016-06-30 4 views
0

Я использую ClosedXML для создания листа для Excel и вставки в него данных.C# - ClosedXML make image transparent

Мой код для этого -

 FileStream fs = new FileStream("C:\\Images\\jcilogo.png", FileMode.Open); 
     byte[] buffer = new byte[fs.Length]; 
     fs.Read(buffer, 0, buffer.Length); 

     MemoryStream image = new MemoryStream(buffer); 
     fs.Close(); 

     XLPicture pic = new XLPicture 
     { 
      NoChangeAspect = true, 
      NoMove = true, 
      NoResize = true, 
      ImageStream = image, 
      Name = "stamp" 
     }; 

     XLMarker fMark1 = new XLMarker 
     { 
      ColumnId = 1, 
      RowId = 1 
     }; 

     XLMarker fMark2 = new XLMarker 
     { 
      ColumnId = 6, 
      RowId = 6, 
     }; 

     pic.AddMarker(fMark1); 
     pic.AddMarker(fMark2); 

     worksheet.AddPicture(pic);   


     worksheet.Cell("G25").Value = "ジョンソンコントロールズ株式会社"; 
     worksheet.Cell("H26").Value = "ンコントロー"; 
     worksheet.Cell("L26").Value = "ズ株式会"; 
     worksheet.Cell("H27").Value = "+99 998 77 65"; 
     worksheet.Cell("M28").Value = "ロールズ株式"; 
     worksheet.Cell("H28").Value = "ソンコントロールズ株"; 

Этот код создает успешно создает первенствовать, но образ, который я использовал грядет над текстом. как это -

enter image description here

Но я хочу изображения, чтобы подпадать под текст под текстом, который присутствует в Teh клетке или иметь прозрачный фон.

Что-то вроде этого - enter image description here

Можно ли сделать его прозрачным или поставить его за текст?

+0

Какую версию ClosedXML вы используете? – Raidri

+0

@ версия Raidri версии 0.75.0 –

ответ

0

Вы используете fork оригинальной библиотеки ClosedXML, которая добавляет поддержку изображений.

Глядя на исходный код этой вилки, нет никаких методов или свойств относительно прозрачности или позиционирования изображения перед текстом или за ним (что даст тот же результат). Таким образом, это невозможно без расширения библиотеки/этой вилки.