标签: compression

转换(ImageMagick或GraphicsMagick)的哪些选项会生成最小(文件大小)的PNG?

ImageMagick创建了一些相当大的PNG.GraphicsMagick要好得多,但我仍然在寻找与convert一起使用的最佳选项,以获得最小的文件大小png.

我这里有一个带有小文件大小大png,并通过IM转换传递我无法达到该文件大小,更不用说让它变小了.通过GM转换我可以稍微小一些,但我正在寻找改进,一般来说我遇到的任何图像.

gm convert -quality 95 a_png.png gm.png
convert -quality 95 -depth 8 a_png.png im.png
gm identify *

a_png.png PNG 2560x2048+0+0 PseudoClass 256c 8-bit 60.1K 0.000u 0:01
gm.png[1] PNG 2560x2048+0+0 PseudoClass 256c 8-bit 60.0K 0.000u 0:01
im.png[2] PNG 2560x2048+0+0 DirectClass 8-bit 130.2K 0.000u 0:01 
Run Code Online (Sandbox Code Playgroud)

什么转换选项产生最小的PNG文件大小?

(是的,我熟悉OptiPNG,PNGOUT和Pngcrush.但是我正在寻找一些可以在我正好碰上的每个*nix盒子上使用的东西.)

compression png imagemagick graphicsmagick

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

PHP手动GZip编码

我用Page Speed测试我的网站,结果大约是70/100.启用压缩是减慢速度的第一个也是最重要的因素.

我知道我可以通过修改php.ini来自动执行此操作,但我对手动方法(gzencode)更感兴趣.

问题是所有浏览器都无法打开网站(Firefox:"您尝试查看的页面无法显示,因为它使用的是无效或不受支持的压缩形式.",Chrome:"303,ERR内容编码"等. )或者它们显示编码的字符串.

Live Headers显示浏览器接受编码,并且响应已设置内容类型,但仍然失败.

GET / HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate

HTTP/1.1 200 OK
Content-Encoding: gzip
Content-Length: 5827
Vary: Accept-Encoding
Run Code Online (Sandbox Code Playgroud)
private function _compress($data) {
    //return trim(preg_replace(array('/\>[^\S ]+/s','/[^\S ]+\</s','/(\s)+/s'), array('>','<','\\1'), $data));
    $supportsGzip = strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false;

    ob_start();
    if ($supportsGzip) {
        echo gzencode(trim(preg_replace('/\s+/', ' ', $data)), 9);
    } else {
        echo $data;
    }

    $content = ob_get_contents();
    header("content-type: text/html; charset: UTF-8");
    header("cache-control: must-revalidate");
    $offset = 60 * 60;
    $expire = "expires: " . gmdate("D, d M Y …
Run Code Online (Sandbox Code Playgroud)

php compression encoding gzip

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

不推荐使用 GNU GZIP 环境变量,如何通过 tar 控制 ZLIB 压缩?

目前我有一个使用GZIP环境变量设置压缩的脚本。

使用 gzip 1.8 我收到警告:

warning: GZIP environment variable is deprecated; use an alias or script
Run Code Online (Sandbox Code Playgroud)

应该如何调用 tar 以便设置压缩级别?

当前命令:

GZIP=-9 tar -zcf ...要压缩的文件...

compression gzip tar

13
推荐指数
1
解决办法
3420
查看次数

RAR减压算法

我正在寻找可用于解压缩RAR文件的算法的描述.我不需要创建新的存档,只需解压缩现有存档.

Wotsit.org具有RAR 文件格式(版本2)的描述,但描述没有描述解压缩算法.

此外,是否有人知道RAR版本3是否对文件格式本身引入了任何重大更改?

compression algorithm rar

12
推荐指数
1
解决办法
4202
查看次数

我没有得到Golomb/Rice编码:它确实输入了更多的输入,或者是它?

或者,也许,我没有得到的是一元编码:

Golomb或Rice编码中,N通过将数字除以另一个数字将数字拆分为两部分M,然后将该除法的整数结果编码为一元,其余为二进制.

在Wikipedia 示例中,它们使用42 as N和10 as M,因此我们最终q得到4(在一元中:1110)和r2 的余数(在二进制010中)的商,因此得到的消息是1110,010或8位(可以跳过逗号).42的简单二进制表示是101010或6位.

对我来说,这似乎是由于一元表示q总是必须比二进制更多位.

显然,我在这里错过了一些重要的观点.它是什么?

compression

12
推荐指数
1
解决办法
8232
查看次数

小4 KB文件的最佳压缩算法是什么?

我试图压缩每个大约4 KB的TCP数据包.数据包可以包含任何字节(从0到255).我发现的压缩算法的所有基准都是基于更大的文件.我没有找到任何比较小文件上不同算法的压缩比的东西,这就是我需要的.我需要它是开源的,所以它可以在C++上实现,所以没有例如RAR.对于大小约4千字节的小文件,可以推荐什么算法?LZMAHACCZIPgzipbzip2

compression

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

使用Google Closure Compiler Application在一个文件中压缩所有文件.js

我想.js在命令行中使用Google Closure Compiler 将所有文件压缩到一个文件中的同一目录中.

对于一个文件,它是:

java -jar compiler.jar --js test.js --js_output_file final.js
Run Code Online (Sandbox Code Playgroud)

但我没有在文档中找到如何在final.js没有写入最后一个压缩文件的情况下将我的其他文件放在最后?

我想要这样的东西:

java -jar compiler.jar --js --option *.js --js_output_file final.js
Run Code Online (Sandbox Code Playgroud)

我可以或者必须执行一个程序,它将所有文件添加到文件中并在压缩之后?谢谢你能帮助我!

javascript compression google-closure-compiler

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

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

Zlib压缩在Java中使用Deflate和Inflate类

我想尝试使用java.util.zip中的Deflate和Inflate类进行zlib压缩.

我能够使用Deflate压缩代码,但在解压缩时,我遇到了这个错误 -

Exception in thread "main" java.util.zip.DataFormatException: unknown compression method
    at java.util.zip.Inflater.inflateBytes(Native Method)
    at java.util.zip.Inflater.inflate(Inflater.java:238)
    at java.util.zip.Inflater.inflate(Inflater.java:256)
    at zlibCompression.main(zlibCompression.java:53)
Run Code Online (Sandbox Code Playgroud)

这是我目前的代码 -

import java.util.zip.*;
import java.io.*;

public class zlibCompression {

    /**
     * @param args
     */
    public static void main(String[] args) throws IOException, DataFormatException {
        // TODO Auto-generated method stub

        String fname = "book1";
        FileReader infile = new FileReader(fname);
        BufferedReader in = new BufferedReader(infile);

        FileOutputStream out = new FileOutputStream("book1out.dfl");
        //BufferedInputStream in = new BufferedInputStream(new FileInputStream(filename));

        Deflater compress = new Deflater();
        Inflater …
Run Code Online (Sandbox Code Playgroud)

java compression zlib deflate inflate

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

算法的大O复杂性 - LZW和Huffman

对于Lempel-Ziv-Welch和Huffman压缩算法,Big O表示法的空间和时间复杂性有哪些?谷歌让我失望.

谢谢,

弗朗西斯科

compression algorithm big-o time-complexity space-complexity

12
推荐指数
2
解决办法
8430
查看次数