У меня есть сценарий DXL, который предназначен для запуска в пакетном режиме.В этом сценарии мы читаем в файле XML и создаем новые столбцы для ссылочного модуля на основе содержимого XML.Иногда нам нужно создать макет DXL для определенного столбца, который создает растровое изображение, нарисованное на холсте, а затем вызвать exportPicture()
, чтобы создать локальный PNG.
Проблема, с которой я сталкиваюсь, заключается в том, что когда этот метод exportPicture()
запускается в пакетном режиме, он просто создает пустое изображение размером 1 КБ, но если тот же метод вызывается при работе через графический интерфейс, он работает просто отлично.
Я не могу предоставить слишком много подробностей о коде, но вот что я могу поделиться.
Создание столбцов:
insert(column columnIndex)
dxl(column columnIndex, dxlScript)
setColumnTitle(columnIndex, columnTitle)
Экспорт изображения:
if (hasDXLCanvas(thisColumn))
{
exportPicture //-
( //-
thisColumn, //-
thisObject, //-
tempStringOf( longPictName ), //-
formatPNG_ //-
)
}
Вот скрипт макета DXL
int height = 0
int width = 0
string pictName
DBE canvas
Bitmap bitmap
pictName = getPictName( obj )
if( !null( pictName ) )
{
canvas = getCanvas()
if( !null( canvas ) )
{
bitmap = loadBitmap( canvas, pictName, true, width, height )
if( !null( bitmap ) )
{
drawBitmap( canvas, bitmap, 0, 0 )
}
destroyBitmap( canvas, bitmap )
}
}
Я предполагаю, что проблема связана с рисованием на холсте в пакетном режиме, но я могу ошибаться.Любое направление будет с благодарностью.
Заранее спасибо!