设为首页加入收藏

软件分类 | 下载排行 | 最新更新 | 精品推荐 | 国产软件 | 国外软件 | 汉化软件 | 下载风云榜 | 论坛转帖
当前位置:资讯首页 -> 编程开发 -> Asp教程

Flash 6 swf文件的代码

出处:不详 作者:IT 日期:2007-09-01 评论(0)条
using System;
using System.Text;
using System.IO;
using ICSharpCode.SharpZipLib.Zip.Compression;
/**************
/*笨猫猫作品
/**************
namespace GetFlashRect
{
class MyFlash
{
public MyFlash
{}

public Stream DeCompress(Stream srcStream)
{
//判断是否是压缩的Flash mx swf文件
//取文件头3
BinaryReader br=new BinaryReader(srcStream);
char[] chrArray=br.ReadChars(3);
string strFlag=new String(chrArray);
int intVersion=(int)br.ReadByte();
if ( String.Compare(strFlag,"cws",true)==0&& intVersion==6 )
{
Inflater inflater=new Inflater();
int intDeCompressLength=br.ReadInt32()-8;//获取接压后流长度
byte[] btArrayBuffer=new byte[intDeCompressLength]; //开辟解压缓存

int intCompressionLength=(int)srcStream.Length-8;//被压缩的流的长度
byte[] btArraySourceBuffer=new byte[srcStream.Length-8];//开辟压缩文件缓存 长度为流长度减8

br.Read(btArraySourceBuffer,0,intCompressionLength);
inflater.SetInput(btArraySourceBuffer);
inflater.Inflate(btArrayBuffer);
//流位置指到开头,重新写入
srcStream.Position=0;
srcStream.WriteByte((byte)'F');
srcStream.Position=8;
srcStream.Write(btArrayBuffer,0,intDeCompressLength);
srcStream.Flush();

}
//br.Close();
return srcStream;

}
}


http://www.itcnw.com/

将文章分享到:分享到人人网分享到QQ空间分享到开心网分享到新浪微博分享到腾讯微博