标签: compression

批量图像压缩工具,用于优化数千个图像

我正在维护一个网站,其中包含数千张未经过压缩的图像.目前主页的重量为1.5 Mb,可能很容易减少一半.

我正在寻找一种工具,它将把一个装满JPG图片的文件夹重新压缩到它们的"最佳"压缩值.

显然,"最佳有损压缩设置"是矛盾的,但我想也许是一种工具,它会尝试不同的水平并将输出与输入进行比较,并选择尺寸和破坏之间的"最佳位置"?

或者甚至尝试PNG是否是更好的选择,很多时候,它是"绘图"类型的东西.

你们有谁知道这样的工具吗?
我有很多有趣的编码,但我打赌有人已经做了,我会节省2天.

或者,当然,任何将所有图片放在文件夹中并以固定质量等级(例如40)重新压缩它们的东西也会起作用,它不会让我内心的书呆子感到高兴,但它会解决我的问题.问题就好了.

(理想情况下可以在Windows上运行,最好是从命令行运行)

谢谢!

compression jpeg batch-file

14
推荐指数
2
解决办法
2万
查看次数

Hadoop:在HDFS中压缩文件?

我最近在Hadoop中设置了LZO压缩.在HDFS中压缩文件的最简单方法是什么?我想压缩文件,然后删除原始文件.我应该使用IdentityMapper和使用LZO压缩的IdentityReducer创建MR作业吗?

compression hadoop

14
推荐指数
3
解决办法
4万
查看次数

zlib:`deflate`和`compress`函数之间的差异

zlib中的函数deflate()compress()函数有什么区别?

我查看了在线示例,其中一些使用了deflate而其他人使用了compress.

我该如何决定使用哪种情况?

compression zlib deflate

14
推荐指数
1
解决办法
1万
查看次数

解压缩Windows 8 C上的ZIP文件#

我正在为Windows 8构建一个metro风格的应用程序,我有一个zip文件,我从Web服务下载,我想提取它.

我已经看过压缩和解压缩的示例,但是需要压缩/解压缩一个文件.我有一个完整的目录结构,我需要提取.

这是我到目前为止:

var appData = ApplicationData.Current;
var file = await appData.LocalFolder.GetItemAsync("thezip.zip") as StorageFile;
var decompressedFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("tempFileName", CreationCollisionOption.GenerateUniqueName);
using (var decompressor = new Decompressor(await file.OpenSequentialReadAsync()))
using (var decompressedOutput = await decompressedFile.OpenAsync(FileAccessMode.ReadWrite))
{
    var bytesDecompressed = await RandomAccessStream.CopyAsync(decompressor, decompressedOutput);
}
Run Code Online (Sandbox Code Playgroud)

但这并不好,bytesDecompressed变量总是零大小,但zip文件是1.2MB

这里的任何帮助将不胜感激.

编辑:回答,谢谢 Mahantesh

这是解压缩文件的代码:

private async void UnZipFile()
{
    var folder = ApplicationData.Current.LocalFolder;

    using (var zipStream = await folder.OpenStreamForReadAsync("thezip.zip"))
    {
        using (MemoryStream zipMemoryStream = new MemoryStream((int)zipStream.Length))
        {
            await zipStream.CopyToAsync(zipMemoryStream);

            using (var archive = new ZipArchive(zipMemoryStream, …
Run Code Online (Sandbox Code Playgroud)

c# compression windows-8

14
推荐指数
1
解决办法
8489
查看次数

压缩一组大整数

我有一组整数,我希望有一个最紧凑的表示.我有以下约束/功能:

  • 它被设置,或换句话说,一个唯一整数的列表,其中顺序无关紧要
  • 集合L的大小相对较小(通常为1000个元素)
  • 整数遵循0和N-1之间的均匀分布,N相对较大(比如2 ^ 32)
  • 对压缩集的元素的访问是随机的,但如果解压缩过程不那么快就可以了
  • 显然,压缩应该是无损的

我尝试了一些事情,但我对结果不满意,并且我确信存在更好的解决方案:

  • delta编码(排序,然后编码差异),或者也排序,然后编码第i个元素和i*N/L之间的差异.两者都给出了合理的结果,但不是很好,可能是因为N和L的典型大小.编码增量的霍夫曼没有帮助,因为它们通常很大.
  • 递归范围缩减(http://ygdes.com/ddj-3r/ddj-3r_compact.html).这看起来很聪明,但在指数减少的整数上效果最好,这绝对不是这里的情况.
  • 关于stackoverflow的一些讨论类似但不完全等同于我的问题(C库用于压缩顺序正整数,压缩排序整数)

我很高兴听到你可能有任何想法.提前致谢!

更新:

事实证明,delta编码似乎接近最优解.对于集合中元素的其他其他分布,这可能不同.

compression integer

14
推荐指数
1
解决办法
2328
查看次数

当我尝试将文件/文件夹发送到压缩(zipped)文件夹时没有任何反应

有一段时间了,我无法从Windows资源管理器中将文件或文件夹发送到Zipped文件夹.选项就在那里,但是当我点击它时,没有任何反应.

似乎其他人也有类似的问题,但在他们的情况下,该选项已经变灰,或者另一个程序已作为默认.zip程序接管.

如果我输入"regsvr32 %windir%/system32/zipfldr.dll"运行命令,我会收到以下错误:

_______________________________

[Window Title]
RegSvr32

[Content]
The module "C:\WINDOWS/system32/zipfldr.dll" was loaded but the entry-point DllRegisterServer was not found.

Make sure that "C:\WINDOWS/system32/zipfldr.dll" is a valid DLL or OCX file and then try again.

[OK]
_______________________________
Run Code Online (Sandbox Code Playgroud)

非常讨厌,我没有足够的信心在没有直接帮助的情况下在注册表中进行黑客攻击,但也许有一个简单的选择,或者我想念的简单事情?

感谢任何人对此的帮助!

compression directory dll zip ocx

14
推荐指数
3
解决办法
3万
查看次数

Zlib兼容的压缩流?

System.IO.Compression.GZipStream或System.IO.Compression.Deflate与zlib压缩兼容吗?

c# compression zlib

13
推荐指数
4
解决办法
2万
查看次数

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();
fs.Close();
Run Code Online (Sandbox Code Playgroud)

我认为确实如此,但我想解压缩上面压缩的内容.我这样想:

FileStream fd = new FileStream("g:\\gj.new", FileMode.Create);
FileStream fs = new FileStream("g:\\gj.zip", FileMode.Open);
GZipStream csStream = new GZipStream(fs, CompressionMode.Decompress);

byte[] decompressedBuffer = new byte[500]; …
Run Code Online (Sandbox Code Playgroud)

c# compression gzipstream

13
推荐指数
2
解决办法
5万
查看次数

需要 - Visual Studio自定义构建操作以缩小JS和CSS

我一直在我的应用程序中使用Combres在运行时压缩,组合和缩小我的javascript和css.这非常有效并且完美地满足YSlow.

现在我出于性能原因重新思考整个过程,我更考虑在构建时而不是运行时完成所有这些.

我希望我能在没有太多麻烦的情况下就如何做到这一点得到一些建议.是否存在可以满足我需要的现有工具(类似于Combres)?

compression minify visual-studio-2010 combres

13
推荐指数
2
解决办法
3896
查看次数

postgresql tcp数据压缩

postgresql中是否有任何内部方法可以通过tcp套接字启用psql连接上的数据压缩.

我还可以使用其他一些不在postgresql内部的方法,比如ssh压缩或任何其他vpn压缩.但是,这可能会增加复杂性.

问候,

compression postgresql

13
推荐指数
2
解决办法
4859
查看次数