图片无损压缩


aBufferSize:是源文件的大小。
aFileName:是图片的路径。

void CMainContainer::CompressGZipFileL(TInt aBufferSize, const TDesC& aFileName)
    {
    RFile input;
    HBufC *compressedFile = HBufC::NewLC(aFileName.Length() + 3);
    _LIT(KCompressedGZipFileName,"%S.gz");
    compressedFile->Des().Format(KCompressedGZipFileName, &aFileName);
    RFs &fileSystem = CEikonEnv::Static()->FsSession();
    User::LeaveIfError(input.Open(fileSystem, aFileName, EFileStream
            | EFileRead | EFileShareAny));
    CleanupClosePushL(input);

    CEZFileToGZip *fileToGZip = CEZFileToGZip::NewLC(fileSystem,
            *compressedFile, input, aBufferSize);
    while (fileToGZip->DeflateL())
        {
        }
    CleanupStack::PopAndDestroy(3);
    }


//压缩后,效果不大。

你可能感兴趣的:(user,input)