Tag: decompression

如何在Windows Phone 8应用程序中解压缩IsolatedStorage中的文件?

在我的应用程序内,我试图一次下载大约180个小音频文件。 我尝试了BackgroundTransferService,但是对于这么多小文件它似乎并不稳定。 所以,现在我正在下载所有这些音频的ZIP,并希望在“audio”文件夹中提取它们。 我尝试了这个线程中的方法: 如何在Windows Phone 8中解压缩文件 但我收到此错误: ‘System.IO.IOException’ occurred in mscorlib.ni.dll…中’System.IO.IOException’ occurred in mscorlib.ni.dll…在以下代码中。 我怎样才能克服这个问题? while (reader.ReadInt32() != 101010256) { reader.BaseStream.Seek(-5, SeekOrigin.Current); // this line causes error }… 此外,我在哪里需要放置此代码,我在哪里给它目标目录? IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication(); using (IsolatedStorageFileStream fileStream = myIsolatedStorage.OpenFile(@”audio.rar”, FileMode.Open, FileAccess.ReadWrite)) { UnZipper unzip = new UnZipper(fileStream); foreach (string filename in unzip.FileNamesInZip()) { string FileName […]

在C#中渲染图像序列以制作video

我有一系列jpg图像,我正在捕捉并渲染到屏幕上以创建video。 我正在使用JpegBitmapDecoder从MemoryStream解压缩图像,并通过在Image控件上设置Source来渲染它。 这似乎工作正常,但处理器开销很高。 这些图像是1280×720,运行速度为30fps,我几乎可以跟上我的电脑(双核2.8Ghz)。 以更高的分辨率运行会导致我丢掉帧。 我想尝试降低cpu利用率。 花费的大部分时间似乎都在解码中(单独解码的简单基准测试在我的机器上显示我可以解码大约40fps)。 有谁知道是否有更快的解码器可用(DirectX?DirectShow?我可以卸载到video卡的东西?) 至于渲染,似乎Image控件不是为这种类型的使用而设计的(我实际上对它起作用感到惊讶,我只是尝试了它,因为它很容易做到)。 是否有另一种方法来渲染可能更快的单个帧?

C#decode(解压缩)缩小PDF文件的数据

我想在C#中解压缩一些DeflateCoded数据(PDF提取)。 不幸的是,我每次都遇到exception“解码时发现无效数据”。 但数据是有效的。 private void Decompress() { FileStream fs = new FileStream(@”S:\Temp\myFile.bin”, FileMode.Open); //First two bytes are irrelevant fs.ReadByte(); fs.ReadByte(); DeflateStream d_Stream = new DeflateStream(fs, CompressionMode.Decompress); StreamToFile(d_Stream, @”S:\Temp\myFile1.txt”, FileMode.OpenOrCreate); d_Stream.Close(); fs.Close(); } private static void StreamToFile(Stream inputStream, string outputFile, FileMode fileMode) { if (inputStream == null) throw new ArgumentNullException(“inputStream”); if (String.IsNullOrEmpty(outputFile)) throw new ArgumentException(“Argument null […]

GZipStream和解压缩

我有应该进行压缩的代码: FileStream fs = new FileStream(“g:\\gj.txt”, FileMode.Open); FileStream fd = new FileStream(“g:\\gj.zip”, FileMode.Create); GZipStream csStream = new GZipStream(fd, CompressionMode.Compress); byte[] compressedBuffer = new byte[500]; int offset = 0; int nRead; nRead = fs.Read(compressedBuffer, offset, compressedBuffer.Length); while (nRead > 0) { csStream.Write(compressedBuffer, offset, nRead); offset = offset + nRead; nRead = fs.Read(compressedBuffer, offset, compressedBuffer.Length); } fd.Close(); […]