In .Net 6 web api, I am setting background image of Syncfusion.XlsIO.IWorksheet.PageSetup.BackgoundImage from utitlity which generated System.Drawing.Bitmap from text data.
In WPF application Worksheept PageSetup Background Image is type of System.Drawing.Image, while in .Net core FileFormat libraries only accepts Syncfusion.Drawing.Image.
I tried to generate stream from Bitmap, and create instace of Syncfusion Drawing image by
Syncfusion.Drawing.Image.FromStream(stream). But It give me error
System.ArgumentException: Stream
at Syncfusion.Drawing.Image..ctor(Stream stream)
at Syncfusion.Drawing.Image.FromStream(Stream stream)
Following code for reference.
var watermarkImage = TextToImageStream(watermarkTex);
for (int workSheetIndex = workbook.Worksheets.Count - 1; workSheetIndex >= 0; workSheetIndex--)
{
Syncfusion.XlsIO.IWorksheet sheet = workbook.Worksheets[workSheetIndex];
sheet.PageSetup.PrintComments = Syncfusion.XlsIO.ExcelPrintLocation.PrintSheetEnd;
sheet.PageSetup.BackgoundImage = Syncfusion.Drawing.Image.FromStream(watermarkImage);
}
private MemoryStream TextToImageStream(String text)
{
using (MemoryStream ms = new MemoryStream())
{
System.Drawing.Bitmap bitmap = TextToImage(text);
bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
return ms;
}
}