社区
JavaScript
帖子详情
如何获取flash动画的长和宽?
eycd6842
2003-09-15 10:28:10
上传一swf文件,如何知道该flash动画的长和宽?
...全文
134
5
打赏
收藏
如何获取flash动画的长和宽?
上传一swf文件,如何知道该flash动画的长和宽?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhangking
2003-09-15
打赏
举报
回复
获取Flash宽 高的类,顺便上传Flash swf文件格式
using System;
using System.IO;
using System.Text;
/// <summary>
/// 操作Flash
/// </summary>
public class FlashCtrl
{
public struct FlashRect
{
public int XLength;
public int YLength;
}
public FlashCtrl()
{
}
/// <summary>
/// 获取Flash(Swf)的矩形范围
/// </summary>
/// <param name="path">Flash(Swf)文件的物理路径</param>
/// <returns>矩形范围</returns>
public static FlashRect GetRect(string path)
{
FlashRect flashRect=new FlashRect();
System.IO.FileStream fs=new FileStream(path,FileMode.Open);
BinaryReader br=new BinaryReader(fs);
//开始取得nBit
fs.Seek(8,SeekOrigin.Begin);
int nBit=(int)br.ReadByte();
nBit=nBit>>3;
//从第8个字节读取
fs.Seek(8,SeekOrigin.Begin);
byte[] RetByteArray=br.ReadBytes( (5+nBit*4)/8+1 );
fs.Close();
br.Close();
string Ret="";
for (int i=0;i<RetByteArray.Length;i++)
{
Ret+=Convert.ToString(RetByteArray[i],2).PadLeft(8,'0');
}
//去除5为长度位
Ret=Ret.Remove(0,5);
int[] RetIntArray=new int[4];
//每8位截取一次
for(int j=0;j<4;j++)
{
RetIntArray[j]=Convert.ToInt32(Ret.Substring(j*nBit,nBit),2 );
}
//(x2-x1)/20
flashRect.XLength=(RetIntArray[1]-RetIntArray[0])/20;
//(y2-y1)/20
flashRect.YLength=(RetIntArray[3]-RetIntArray[2])/20;
return flashRect;
}
}
zhangking
2003-09-15
打赏
举报
回复
获取Flash宽 高的类,顺便上传Flash swf文件格式
using System;
using System.IO;
using System.Text;
/// <summary>
/// 操作Flash
/// </summary>
public class FlashCtrl
{
public struct FlashRect
{
public int XLength;
public int YLength;
}
public FlashCtrl()
{
}
/// <summary>
/// 获取Flash(Swf)的矩形范围
/// </summary>
/// <param name="path">Flash(Swf)文件的物理路径</param>
/// <returns>矩形范围</returns>
public static FlashRect GetRect(string path)
{
FlashRect flashRect=new FlashRect();
System.IO.FileStream fs=new FileStream(path,FileMode.Open);
BinaryReader br=new BinaryReader(fs);
//开始取得nBit
fs.Seek(8,SeekOrigin.Begin);
int nBit=(int)br.ReadByte();
nBit=nBit>>3;
//从第8个字节读取
fs.Seek(8,SeekOrigin.Begin);
byte[] RetByteArray=br.ReadBytes( (5+nBit*4)/8+1 );
fs.Close();
br.Close();
string Ret="";
for (int i=0;i<RetByteArray.Length;i++)
{
Ret+=Convert.ToString(RetByteArray[i],2).PadLeft(8,'0');
}
//去除5为长度位
Ret=Ret.Remove(0,5);
int[] RetIntArray=new int[4];
//每8位截取一次
for(int j=0;j<4;j++)
{
RetIntArray[j]=Convert.ToInt32(Ret.Substring(j*nBit,nBit),2 );
}
//(x2-x1)/20
flashRect.XLength=(RetIntArray[1]-RetIntArray[0])/20;
//(y2-y1)/20
flashRect.YLength=(RetIntArray[3]-RetIntArray[2])/20;
return flashRect;
}
}
bubuy
2003-09-15
打赏
举报
回复
不知道用fso读它文件信息可以不?
kwq_cn
2003-09-15
打赏
举报
回复
flash有两种存放格式,一种是不压缩的,另外一种是压缩过的(zlib),后者要解压缩后才能得到原始存放数据的那4个字节,然后按未压缩的方法求得长宽。具体算法可到网络上找
sw47
2003-09-15
打赏
举报
回复
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<input onClick="alert(xx.offsetWidth+';'+xx.offsetHeight)">
<object id="xx" style="visibility:hidden" classid="clsid:D27CDB6E-AE6D-11cf-9B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0">
<param name="movie" value="banner.swf">
<param name="quality" value="high">
<embed src="banner.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="480" height="60"></embed></object>
</body>
</html>
网页设计毕业实习报告.docx
确定栏目和板块: 1]首先要考虑整个网页的
长
和
宽
,以及
长
度和
宽
度之间的比例。 2]其次就应该考虑导航条的设置了。 3]正文的框架设置 (横向因素和纵向因素交错) 在浏览了很多精美的旅游网站之后,再结合自己的想法,...
08年自己写的实习报告
便于用浏览网页布局大致可分为“国”字型、拐角型、标题正文型、左右框架型、上下框架型、综合框架型、封面型、
Flash
型、变化型,网页布局是首先要考虑整个网页的
长
和
宽
,以及
长
度和
宽
度之间的比例。其次就应该考虑...
《
Flash
动画
制作》慕课设计与实现
本课程按实际需要及由浅入深的原则,最终确定了以下三个阶段:第一阶段,
Flash
基本概念的介绍与简单图形的绘制。第二阶段,简单
动画
项目的制作(关键帧
动画
,补间
动画
)。第三阶段,小型综合项目的制作。利用前面所...
Flash
“金属管道”特殊效果制作攻略
在我们创建
Flash
网站,或者设计
Flash
动画
的时候,也许经常会遇到金属管道的问题。在
Flash
中制作一根金属棒是十分容易的,但如果想让这根金属棒蜿蜒曲折,变成金属管道,则困难多了。这是因为金属管道的造型曲折,光...
Javascript高性能
动画
与页面渲染
No setTimeout, No setInterval如果你不得不使用setTimeout或者setInterval来实现
动画
,那么原因只能是你需要精确的控制
动画
。但我认为至少在现在这个时间点,高级浏览器、甚至手机浏览器的普及程度足够让你有理由有...
JavaScript
87,907
社区成员
224,614
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章