我有一个打算批量运行的DXL脚本。在此脚本中,我们读取XML文件,并根据XML内容为引用的模块创建新列。有时,我们需要为特定列创建布局DXL,以创建在画布上绘制的位图,然后在其上调用exportPicture()
以创建本地PNG。
我面临的问题是,当此exportPicture()
方法批量运行时,它只会创建一个空白的1KB图像,但是如果通过GUI运行时调用相同的方法,则效果很好。 / p>
我无法提供太多有关代码的细节,但这是我可以分享的内容。
创建列:
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 )
}
}
我假设问题与在批处理模式下在画布上绘制有关,但是我可能错了。任何方向将不胜感激。
谢谢!
答案 0 :(得分:1)
在批处理模式下,许多GUI功能不可用。对于某些事情,有一些解决方法(例如,不允许加载视图,但是您可以修改视图的属性,以便要修改的视图是默认视图,然后保存并重新打开模块),但不允许期望一切正常。 您可能要尝试使用交互模式和命令行开关-dxl(-D)
,而不是使用批处理模式。