PHP:如何获得冲击波 .dcr 文件的宽度和高度?

Posted

技术标签:

【中文标题】PHP:如何获得冲击波 .dcr 文件的宽度和高度?【英文标题】:PHP: How to get shockwave .dcr file width and the height? 【发布时间】:2011-08-15 23:05:09 【问题描述】:

我们知道函数 getimagesize() 非常适用于图像和 swf 文件。

但它不支持冲击波文件 (.dcr)。

所以,我怎样才能得到这样的文件的宽度和高度..

【问题讨论】:

这是一个非常有趣的问题;我自己也对 Shockwave 文件格式感到好奇,但我找不到任何关于它的文档。 需要尺寸的原因是什么?是否有可能通过其他方式实现您需要做的事情?例如,如果回显到 html 页面,您可以在指定标准高度和宽度时使用 swStretchStyle 属性。更多信息:x10hosting.com/forums/graphics-webdesign/… @John:我不知道 OP 需要它做什么,但我只是对如何获取宽度和高度感兴趣,因为它可以提供对文件格式的一些了解,我我真的很想找到一些关于的信息。 我在这方面取得了一些进展:我找到了一个已知大小的 DIR 文件,并找到了它在文件中的位置。不幸的是,它似乎没有出现在标题中,因此找到它可能并不那么容易。我还能够从 DCR 中解压缩数据。然而,我正在测试的 DCR 文件比 DIR 文件大得多,因此我无法确定 DCR 中的大小。 它看起来也使用了很多 FourCC——它的某些部分看起来与 QuickTime 文件格式非常相似 【参考方案1】:

我不是 Lingo/Director 专家,但 AFAIK 你无法通过 php 做到这一点。

.DCR 文件格式未打开,因此您找不到文件格式规范来制作自己的解析器并自行提取该信息。

但是,应该有办法在客户端使用导演电影来做到这一点。

例如。您在自己的导演电影中加载外部 dcr 文件(然后您将能够读取加载文件的宽度/高度等)。然后,您自己的导演电影会使用有关该特定加载文件的信息更新一些数据库,以便您稍后可以显示宽度/高度。

我发现这篇文章可以追溯到 2006 年,这个人提出了同样的建议: http://director-online.com/forums/read.php?1,20621,20621,quote=1

祝你好运! :)

【讨论】:

我将奖励你赏金只是因为它是唯一可以工作的,但我真的更喜欢一个对文件格式进行逆向工程并找到在哪里找到尺寸的答案在里面。 谢谢你,icktoofay,如果我遇到过文件规范,那是你的。【参考方案2】:

如果您有 Windows 服务器,您可以安装 IrfanView(免费)并从命令行使用它(是的,它是免费的并且有命令行)将 swf 转换为 dcr。 (Linux 肯定有类似的工具)。

Convert images on the command line with IfranView

要从 php 调用操作系统命令行,请使用shell_exec()

然后就可以正常用php读取swf图片大小了。

希望对你有帮助

【讨论】:

我尝试下载 IrfanView 及其所有插件,但它无法打开我拥有的 .dcr 文件。 从 Edgar 的描述看来,InfranView 读取 swf 文件并将其转换为 dcr 原始图像格式,而不是 dcr 冲击波格式。

以上是关于PHP:如何获得冲击波 .dcr 文件的宽度和高度?的主要内容,如果未能解决你的问题,请参考以下文章

如何获得 SVG 组元素的高度/宽度?

如何在ipad中获得指定宽度和高度的弹出框

如何裁剪引导图像以获得所有图像的宽度 285 和高度 170?

使用 PHP 获取 PDF 文件的高度和宽度

jquery如何获得宽度为百分比的元素的宽度?

DCR共识的特点