![]() |
#10 |
Moderator
|
Ну, в общем, у меня манипуляциями в Excel прозрачность получилась. Взял свой пример отсюда Быстрый способ вывода данных в Excel с картинками и добавил фрагмент сегодняшнего дня. Через области белого цвета будет видна сетка таблицы.
X++: static void Job98_Transparent(Args _args) { ComExcelDocument_RU doc = new ComExcelDocument_RU(); Image image = new Image(); COM xlApp; COM wbook; COM activeSheet; COM range; int i, timeStart; COM shape; COM pf; ; timeStart = timenow(); doc.NewFile('',false); wbook = doc.getComDocument(); xlApp = wbook.Parent(); activeSheet = xlApp.ActiveSheet(); range = activeSheet.Range('B1'); xlApp.ScreenUpdating(false); for (i=1;i<=400;i++) { image.captureScreen(0+(i-1)*2, 0+(i-1)*2, 300+(i-1)*2, 100+(i-1)*2); //image.transparent(true, 255, 255, 255); image.clipboardCopy(); range.RowHeight(78); range.pasteSpecial(0); // 18.05.2009 ПРОЗРАЧНОСТЬ --> shape = xlApp.Selection(); shape = shape.ShapeRange(); pf = shape.PictureFormat(); pf.TransparentBackground(-1); pf.TransparencyColor(WinAPI::RGB2int(255,255,255)); // 18.05.2009 <-- range = range.Offset(1,0); } xlApp.ScreenUpdating(true); doc.visible(true); box::info(strFmt('Всего секунд: %1', timenow()-timeStart)); } |
|