我希望允许基于web的CMS的用户上传Flash文件并将其包含在内容中。我可能会使用SWFObject来渲染Flash,但我需要宽度和高度。当我进行上传时,是否可以通过C#确定这些尺寸?
谢谢。
我希望允许基于web的CMS的用户上传Flash文件并将其包含在内容中。我可能会使用SWFObject来渲染Flash,但我需要宽度和高度。当我进行上传时,是否可以通过C#确定这些尺寸?
谢谢。
可能有更简单的方法,但是您可以从http://blogs.msdn.com/mswanson/archive/2006/10/15/example-c-code-for-reading-flash-swf-files.aspx下载“FlashTools.zip”并编译该项目。然后添加对“FlashTools.dll”程序集的引用。接下来,您可以使用以下代码获取高度/宽度:
SWFFile swf = new SWFFile(fileLocation);
Response.Write("Height:" + swf.FrameHeight/20 + " Width:" + swf.FrameWidth/20);
我已经测试过了,它显示了正确的信息。
也许你应该给用户提供手动输入每个SWF的宽度和高度的选项(以及从SWF字节码自动检测的选项)。
我提到这一点是因为SWF文件大多设计用于嵌入HTML中,而SWF的舞台大小(Flash术语的尺寸)并不总是旨在成为该内容的嵌入大小 - 有些SWF被设计为自动调整其内容以匹配它们在HTML中的嵌入方式,因此对于这些SWF来说,实际的舞台宽度和高度可能是无关紧要的。
swf
文件使用 twips 作为度量单位。 - wsanville