问题标签 [xfl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
479 浏览

c# - 从 C# 启动 JSFL 脚本时遇到问题

我有以下代码用于从我的 ASP.Net Web 应用程序运行 JSFL 脚本:

此代码在我的 Win 7 机器上本地运行良好;Flash 启动、发布 SWF 并关闭。但是,当我将它部署到我的 Windows 2008 网络服务器(安装了 Flash CS6)时,它似乎不起作用。更具体地说,当我运行上面的代码时;Flash 打开几秒钟,然后退出而不发布 SWF 或显示/记录任何错误。但是,如果我远程进入服务器并简单地双击该完全相同的脚本;Flash 打开,脚本运行,SWF 发布。如果我从服务器上的命令提示符打开带有 Flash 的 JSFL 脚本,它也可以工作。

我怀疑 Process.Start 提前中止了 Flash;但我不知道为什么。如您所见,我调用了 WaitForExit ,因此它会阻塞直到发布完成;但它似乎只在一秒钟后就退出了。

有任何想法吗?

更新

检查 Windows 系统日志,发现每次我们的应用程序尝试通过上面的代码启动 Flash 时都会出现此错误:

FlashPro 致命异常:FlashPro 遇到致命异常。FlashPro 现在将终止。

看起来这可能是 Flash CS6 的问题。

0 投票
1 回答
955 浏览

flash - How to save .fla as .xfl by code?

I am using jsfl to save .fla Doc in flash.But I want to save as .xfl(uncompressed document format), and I can't find useful API in jsfl.What should I do?

Thanks!

0 投票
1 回答
941 浏览

c# - C# - XFL 内容:将 .dat 文件转换为位图

我有使用 XFL 格式的 .fla 文件。里面有一个 /bin 文件夹,里面有一些 .dat 文件,这些文件是图像。

有没有办法将这些 .dat 文件转换为位图并在 PictureBox 控件中显示它们?

这是一个 dat 文件的示例:链接

以及对应的图片(从Flash中导出)链接

更新:在我的代码下面:

UPDATE2:我发现一篇描述类似问题的帖子XFL - What are the ./bin/*.dat files?. 在答案中我发现了这个:

其中解压缩的数据是具有存储类型的像素:ARGB,因此使用大小信息应该足以从中获取图像。它使用 ZLIB 压缩 (www.zlib.net) Flash 使用压缩级别 1,但可以使用任何级别(但这不是必需的,因为源通常完全压缩。

但我仍然不明白如何将 .dat 文件转换为位图!

我尝试手动解压缩 .fla 并将 .dat 文件重命名为 image ext (.jpg, .png, .bmp) 以检查它是否是正常的图像文件,但是当我尝试打开时出现错误“格式不正确”它。

我的问题是如何将 MemoryStream 的内容转换为位图?

问候,

0 投票
1 回答
60 浏览

flash - 如何清除 Flash XFL 格式的 DOMDocument 元素的 sharedLibraryURL 属性?

我遇到了一个非常奇怪的问题,我无法导入特定的符号,我最终通过将 FLA 保存到 XFL 并检查 DOMDocument.xml 以发现有问题的符号是在sharedLibraryURL属性中定义的,从而缩小了范围。如果我手动清除此属性,它会解决问题,但我找不到在 Flash CS6 中检查此值的方法。

将其他一些 FLA 文件转换为 XFL 后,我可以看到它们都充满了看似随机的值sharedLibraryURL,这意味着这个问题可能会发生在我们项目的任何地方。

有谁知道这个属性是干什么用的?更重要的是,有没有办法在 Flash CS6 中修改它并阻止它被填充而不必转换为 XFL 并返回?

作为参考,这里是 DOMDocument.xml 的开始元素(我将 swf 重命名为 problem_file.swf):

编辑:我部分想通了。当您创建符号并选中属性中的“导出以用于运行时共享”复选框时,该属性会被添加。您为 URL 指定的任何值都会保存为sharedLibraryURL. 问题是一旦这个属性存在,就没有明显的方法可以清除它。如果我删除该符号,它只会留在那里。它在 FLA 中具有如此随机值的原因是因为我们在创建新的 FLA 时倾向于从现有的 FLA 复制,这会复制死属性值并导致此问题。

所以现在我知道了原因,但我仍然不知道如何清除它......