Я настоятельно рекомендую использовать библиотеку DotNetZip с открытым исходным кодом, а не SharpZipLib.DotNetZip лицензируется в соответствии с Ms-PL и также проще в использовании, чем SharpZipLib.
Например, архивирование - это просто:
using (ZipFile zip = new ZipFile())
{
zip.AddEntry("MyFileName.png", null, pngStream);
// Save to stream from SaveFileDialog
zip.Save(stream);
}