一些非常有用的压缩工具 :
File | Size/Date | Description | Requirements |
PNGOUTWin | (link) 2006- | The professional version of PNGOUT, featuring an easy-to-use GUI. Supports all features of the command line version (described below), plus more. PNGOUTWin makes it easier to do batch processing and takes full advantage of multi-core CPUs. Please visit ardfry.com for more information. | WIN32 GUI |
PNGOUT.EXE | 40,960 bytes 03/08/2007 | PNGOUT optimizes the size of .PNG files losslessly. It uses the same deflate compressor I wrote for KZIP.EXE (see below). With the right options, it can often beat other programs by 5-10%. That includes pngcrush -brute, optipng -o7, advpng -z4, etc.. PNGOUT is a great tool for optimizing the size of web pages or squeezing game content onto mobile devices. Almost all .PNG files on my website were optimized with PNGOUT. For a detailed description of the options, please check out the PNGOUT tutorial written by Kerry Watson. Click here for license. | WIN32 command line |
PNGOUT.DLL (IrfanView only!) | 26,624 bytes 01/18/2006 | This is the latest PNGOUT plugin for Irfanview (3.98). It uses my PNGOUT algorithm for saving PNG images. It features a dialog box and progress bar so anyone can use it - not just the command line geeks! (dialog screenshots here) To install it, simply copy this DLL into your Irfanview /plugins directory. (usually "C:/Program Files/IrfanView/Plugins") Please note: this DLL is made specifically for Irfanview - it's not meant to be used as a general-purpose library. | IrfanView 3.98 |
KZIP.EXE | 14,848 bytes 04/14/2007 | My own PKZIP-compatible compressor focusing on space over speed. KZIP creates smaller .ZIP files than PKZIP with maximum compression enabled and even beats 7-Zip most of the time. I use a few tricks beyond what your typical compressor will do. The main one is an exhaustive search of all patterns. The other one is my advanced block splitter. ZIP files created with KZIP are compatible with all of the latest .ZIP software - just that if you use KZIP, your file will probably be smaller. Decompression is still very fast, making KZIP the perfect tool for shaving off seconds from download times. What will you do for a byte? :) Click here for license. | WIN32 command line |
ZIPMIX.EXE | 8,704 bytes 02/21/2007 | Sometimes, when you run 2 different .ZIP programs on the same data (PKZIP & KZIP for example), some files get compressed better in one program, while other files get compressed better in the other. ZIPMIX will take the best files from each one and create a new output file, which is guaranteed to be equal to or smaller in size to both of the input files. ZIPMIX can also be used to perform boolean operations on ZIP files, such as merging 2 ZIP files together, or updating a new file (with some tricks). You can download the source code here: ZIPMIX_SRC.ZIP (4,759 bytes, 02/21/2007) This code may be used freely. | WIN32 command line |
REKZIP.ZIP | 379 bytes 07/06/2006 | Here's a little batch file I wrote for KZIP to directly re-compress an existing ZIP file. I have tried to make the batch file as safe as possible - meaning you shouldn't lose the original file if there's an error during one of the steps. I think the worst that can happen is you end up with a harmless temporary sub-directory - and that's only if your computer freezes! If you really want to feel cool, you can re-compress a whole directory of ZIP files using this command: "for %i in (*.zip) do rekzip %i" : ) Someday, I might actually get around to integrating this functionality into KZIP.EXE.. | WIN32 command line |
Linux & MacOSX ports of PNGOUT, KZIP, and ZIPMIX | (link) | Due to popular demand, here are ports of PNGOUT, KZIP, and ZIPMIX to Linux and MacOSX. Thanks to Jonathon Fowler for all of his assistance in porting, letting me use his machines remotely, packaging the files, and of course hosting. I asked JonoF to host these files because he has more experience with non-Windows platforms than I do. Go grab a copy of the ports at JonoF's site! Click here for license. | Linux or MacOSX |
PNGOUT / KZIP license:
I have gotten a lot of requests recently about bundling the command line executables, or releasing the source code to KZIP and PNGOUT. Obviously, this is very flattering. : ) In general, I am open to this kind of stuff, however for these I must be a little protective, as the algorithms are incorporated into a commercial product. KZIP and PNGOUT share a lot of code in common, and I am currently selling GUI versions of PNGOUT at ardfry.com. So here is the license:- The command line versions of PNGOUT.EXE and KZIP.EXE are free, as are the Mac and Linux ports. You may use PNGOUT- or KZIP-compressed content for non-commercial or commercial purposes.
- Redistributing, repackaging, or reusing the PNGOUT or KZIP executable is prohibited without the express consent of Ardfry Imaging, LLC, and a formal business agreement.
Compression links:
PNGGauntlet: A .NET-based Windows wrapper for PNGOUT by Ben Hollis.
PNGOUT tutorial written by Kerry Watson.
PNGOUT review by Gregory Wild-Smith. WARNING: his site seems to crash my browser!
Ultimate Command Line Compressors: Comparison of many compression utilities, including PNGOUT and KZIP.
Maximum Compression: Comparison of many compression utilities, including KZIP.
RFC1951: A great technical document for programmers who are interested in learning about the deflate standard (PNG and ZIP are both based on deflate).
PNG Home Site: The mother of all PNG sites.
Other good PNG/ZIP compressors:
7-ZIP: A good compromise of compression ratio and speed that falls between PKZIP and KZIP.
OPTIPNG: Compresses PNG files using libpng, takes the best of many trials; inspired by PNGCRUSH, with a few more features.
ADVPNG (and ADVDEF): PNG compressor based on the 7-zip deflate engine.
DEFLOPT (and BJWFLATE): ZIP recompression utilities by Ben Jos Walbeehm with similar goals to KZIP (space over speed).
Other Windows Utilities:
KWINCHEAT.ZIP | 17,600 bytes | Automatic player AI for Minesweeper, Solitaire, and Internet Checkers. Have you ever wanted to throw some advanced computer AI against an unsuspecting Internet Checkers player? :) Did you know that Solitaire has a scoring bug if you win in less than 30 seconds? Have you ever been so lazy that Minesweeper seemed like manual labor? Well, now you're in luck because I've decided to share my cheats with you! Please read the included text file for more hints and instructions. | WIN32 |
KWINCHEAT_SRC.ZIP | 18,399 bytes | The source code to Mineplay, Solplay, and Checkplay. The code is best viewed with tab stops set to 3. | VC6 or above |
CHECKERS.EXE | 22,528 bytes 01/23/2005 | A stand-alone test checkers game I wrote just before I started writing Checkplay. Now you can see for yourself how easy it is to lose to my computer AI :) | WIN32 |
CHECKERS_SRC.ZIP | 41,530 bytes 06/26/2005 | The source code to my stand-alone checkers game. The code is best viewed with tab stops set to 3. To compile Winmain.cpp with VC6, you'll need to install the Processor Pack which is available somewhere at microsoft.com. | VC6 or above |
KPIC.EXE | 73,216 bytes, 12/12/2005 | Ken's PICture viewer. Supports: JPG,PNG,GIF,TGA,PCX,BMP. View all files in a directory or files inside a .ZIP. (no need to extract first!) Example: kpic /zduke3d_hrp.zip *.png *.jpg. Select any DirectX mode on the command line. Example: kpic /1024x768 *.* KPIC allows you to scroll and zoom quickly (hold mouse button). It supports a fancy 4x4 filter (uses MMX code) to interpolate samples cleanly when you use the zoom feature. This is a high quality filter - most 3D accelerators use bilinear interpolation which is only a 2x2 filter :) There are 3 interpolation modes; use TAB to select between them. (Mode 0:4x4 when stopped/nearest when moving, Mode 1:4x4 always, Mode 2:nearest always). (See PNGOUT.HTM for a more complete description of supported image formats) | WIN32 (requires PIII/AthXP) |
KC.EXE | 58,368 bytes 12/29/2005 | My own text editor for windows, featuring smooth panning, support for large text files and keys similar to DOS EDIT. I use this editor all the time! If you do Visual C or Java programming at the command prompt, you can press F5 while the source is loaded to compile, display errors (if applicable) and run. Press F5 and study the dialog to see how to set this up. Or look at (04/01/2006, 4,754 bytes) KC_GUIDE.TXT for a more complete list of KC commands. | WIN32 |
STOPCHOP.EXE | 8,704 bytes 07/26/2006 | Record without having to worry about pressing the start button on time. This program records at CD quality, using a 64MB circular buffer. As soon as you press ENTER, you will see the last 6+1/3 minutes recorded. Then you crop the sound using the mouse and the , and . keys to set the beginning and end cursors (respectively). Play the sound using SPACE BAR, HOME or END in this screen. You can also do fade-out at the end of the sound. To do this, move the cursor to where you want the fade to start, and when you press DELETE, it will do a linear fade from this position until the end cursor. Press ENTER to save the selected region to disk or ESC to cancel. When satisfied, I suggest you compress the .WAV to .MP3 using your favorite utility. | WIN32 |
KS2.ZIP | 115,951 bytes 04/16/2007 | A simple MIDI sequencer for Windows. KS2 does not support effects of any kind. I have written a bunch of .KS2 songs, but they all use .WAV files that are probably copyright, so I'm reluctant to release them. | WIN32 |
Old Utilities:
BLANK.ZIP | 232 bytes | This screen saver uses the VESA DPMS functions. You can select between 3 options: STAND-BY, SUSPEND, and OFF. | DOS16 |
CCOPY.EXE | 50,442 bytes | Copies files at 115,200 baud using the serial port. Uses compression. Automatically skips files AND parts of files that haven't changed. For example, if you appended some bytes at the end of a huge text file, CCOPY will update the file very quickly. | DOS32 |
DCOPY.EXE | 55,488 bytes | Copies files over a local network using the IPX protocol. Useful when you have problems sharing hard drives. I used this all the time when testing games over a network. | DOS32 |
KSWEEP.EXE | 6,369 bytes | Use this utility to run a given program on all specified files located in the current directory and any subdirectory of the current one. For example you could play all .WAV files in all subdirectories of C:/WINDOWS with just a single command. | DOS16 |
FINDWORD.ZIP | 276,562 bytes 11/30/2006 | A multi-purpose word search utility for solving anagrams, word jumbles, crossword puzzles, hangman, Wheel of Fortune, 4x4 Boggle games, etc.. Includes word list (SOWPODS), highly compressed using my own algorithms (alphabetic tree, suffix reuse, Huffman). Supports search based on wildcards, phone numbers to words, and other weird features. Want to know my favorite use? In the middle of a Boggle game, claim you have to go to the bathroom, but instead run this program and print out the results. Guaranteed to annoy everyone at the table! Source code included. | WIN32 |
GETCPU.EXE | 4,608 bytes 01/17/2005 | Returns information about your CPU by dumping the results of the CPUID instruction. It also auto-detects the CPU's currently running frequency (in MHz). | WIN32 |
GRAFTEXT.EXE | 33,290 bytes | Bored of 80*25, 80*43, and 80*50 text modes? This program can set your DOS text dimensions to crazy resolutions like: 128*96 or 40*12. (Warning: Doesn't work on all video cards because it sets the video mode using VESA, and then writes some VGA registers to make the video card think it's in text mode again.) | DOS32 |
KCD.EXE | 52,571 bytes | This used to be called KC.EXE, but since I now use my windows version, I decided to optimize my keystrokes and rename this to KCD.EXE. This is a 32-bit text editor for DOS featuring smooth panning, support for large text files, and keys similar to DOS EDIT. | DOS32 |
KCALC.EXE | 27,354 bytes | Use this program to expand mathematical expressions into sums and products that don't require parenthesis. For example: kcalc (a+b)(a-b) gives: +a*a, -b*b. | DOS16 |
KEYTRY.EXE | 18,442 bytes | Press a key and this program spits out the scan code. Extended codes such as arrow keys are returned as a single byte in range: 128-255 | DOS32 |
KGIF.EXE | 37,988 bytes | View an entire directory of GIF files quickly. Can select any 8-bit VESA resolution on the command line. Will use Wide DAC VGA palette if available (8 bits per color instead of the usual 6). This feature is great for 256-color grayscale. Can display larger GIF files than most other programs (including Internet Explorer) because KGIF uses memory to cache only the compressed GIF data. (Doesn't support animated GIFs yet.) | DOS32 |
KPEG.EXE | 47,350 bytes | View an entire directory of JPEG files quickly. Can select any available VESA resolution and color depth (8,15,16,24,32 bits) on the command line. For old VGA cards, KPEG will display more than 256 colors by TIME DITHERING (320*200*8 mode only) By time dithering, I mean that KPEG averages the colors across 32 display pages and quickly flipping between them. (Doesn't support "progressive" JPEG yet.) | DOS32 |
KPNG.EXE | 57,601 bytes | View an entire directory of PNG files quickly. This program requires support for 32-bit VESA modes. Can display larger PNG files than most other programs because KPNG uses memory to cache only the compressed PNG data. (Doesn't support 16-bit color depths.) | DOS32 (32-bit color only) |
MOUSRAT2.EXE | 36,610 bytes | Detects the rate at which your mouse reports x & y movements. Slow mouse rates can destroy the "apparent" frame rate of any application which doesn't interpolate the mouse data. If you find this number is less than the frame rate of your screen, you could try installing a mouse driver specific to your mouse and playing with the options. Also somebody out there made a neat program that runs in Windows 95/98 that can change the rate without requiring a reboot! In an internet searcher, try the keyword "PS2RATE.ZIP" | DOS32 |
VIDSPEED.EXE | 54,416 bytes | Tests 8,16,32, and 64-bit memory writes to system memory, VGA memory, and linear frame buffer memory (if available). | DOS32 |
REASPEED.EXE | 54,416 bytes | Tests 8,16,32, and 64-bit memory reads from system memory, VGA memory, and linear frame buffer memory (if available). | DOS32 |
MOVSPEED.EXE | 64,526 bytes | Tests 8,16,32, and 64-bit memory moves from system memory to: system memory, VGA memory, and linear frame buffer memory (if available). | DOS32 |
PKHIDE.EXE | 4,921 bytes | After you run "pklite -e" on an exe, run this to hide the PKLite signature. Hackers won't even know that the EXE was compressed with PKLite. | DOS16 |
RULER.EXE | 25,600 bytes | Run this to help you calculate the dimensions of something on the windows screen. (One of my few Windows programs to use GDI) | WIN32 |
HEARTEST.EXE | 5,632 bytes | Test your hearing range using this simple utility. I made sure to eliminate as many 'clicks' as possible, so you can't falsely claim you hear a frequency when you actually don't. This program plays at CD quality. For high frequencies, it will work best with headphones... of course if you have bad headphones then this programs tests your headphones more than your hearing. :) If you can hear over 17500hz, then you've got better hearing (or better headphones) than me. Older people often can't hear above 13000hz. | WIN32 |
TEXTREND.EXE | 6,144 bytes 04/15/2005 | "Renders" a DOS text file to a PNG file. I used to use this program when I needed to print out a DOS text file which had line-drawing characters. | WIN32 |
TYPETEST.EXE | 33,986 bytes | Want to see how fast you can type? Using this program, you can type in any text and it will report the number of words you typed, how many seconds it took you, and how fast you typed it in words per minute. On 02/11/2000, I typed "The quick brown fox jumps over the lazy dog." in 2.683 seconds - that's 201.233 words per minute! On 06/28/1999, I typed the names of all 50 U.S. states in alphabetical order (60 words, no capitalization) in 45.094 seconds. I challenge you to beat me! Don't be discouraged though - I'm really, REALLY FAST! You should be proud of yourself if you can get half my score. | DOS32 |
VES2.ZIP | 33,856 bytes 01/20/2007 | Tests the features of 8-bit VESA graphic modes. Source code included. Compile with Watcom C. | DOS32 |
VBEAF.EXE | 65,270 bytes | Tests the speed of VBE/AF graphic modes. Too bad that the VBE/AF specification seems to not have caught on. To obtain a VBE/AF driver, you can try installing Scitech Display Doctor (www.scitechsoft.com), which puts a file called VBEAF.DRV in the root of your hard drive. | DOS32 |
KPC.EXE | 33,559 bytes | Plays WAV or VOC files through the PC speaker. Works in Windows 95/98, but not quite at the same quality as DOS because Windows has no GOOD way of disabling interrupts. | DOS32 |
MP3.EXE | 73,483 bytes | Just another MP3 player. Code is based on MPG12304.ZIP, but I optimized the player quite a bit and has a couple of silly features like an alarm. Features low CPU usage. Requires an SB-compatible card. | DOS32 |
MP3PC.EXE | 70,021 bytes | Got no sound card? MP3PC plays MP3 files through your PC speaker! For some reason I like to make programs work through the PC speaker. Some people still don't know that it's possible to play real sounds through it. Unfortunately, you must run this in pure DOS mode for it to work. | DOS32 |
NCD.EXE | 5,592 bytes | KeN's Change Directory. If you like jumping to different directories quickly, you should try my version of the program, based on one of my favorite Norton Utilities. My NCD program is extremely small and fast. One cool feature is that it stores the entire directory tree (skips hidden directories) in the "NCD.EXE" program file itself. This keeps your HD from getting cluttered and makes the program load even faster. | DOS16 |
TEXTCAPT.EXE | 5,397 bytes | Use to capture a DOS text screen of any dimensions to a file (called TEXTCAPT.TXT) Handy when a program refuses to redirect output to a file with the '>' DOS operator. | DOS16 |
NV.ZIP | 126 bytes | Set to 80*25 text mode, clear the screen, and fix the IRQ0 timer rate, all in 16 bytes. Use this instead of typing "MODE CO80,25" and "CLS" when your screen gets messed up when DOS programs crash. | DOS16 |
FLOPPY.ZIP | 134 bytes | This utility is for the serious QuickBasic programmer who is stuck using WinXP. In WinXP, some old DOS programs (such as Microsoft QuickBasic) stupidly access the floppy drive when you do File..Open. This is really annoying because it wastes 2 seconds while it does this. FLOPPY.COM fixes this behavior by disabling the floppy drive. As a side effect, you can't access the floppy drive until you re-enable it. At the command prompt, type "floppy off" to disable the floppy drive and "floppy on" or "floppy" to enable the floppy drive. | DOS16 (intended to run on WinXP) |
DOS4GW.EXE | 265,396 bytes | Ok, obviously this isn't mine. It's the default DOS extender that Watcom C uses. I put it here just in case you need it to run one of my programs. | DOS32 |