Здравствуйте. Подскажите, пожалуйста, как можно заархивировать отдельный файл, видео или картинку в архив на wpf?
Вам нужен инструментарий из System.IO.Compression.
Пример создания архива C:\result.zip, содержащего файл C:\data.txt:
using (var fileStream = new FileStream(@"C:\result.zip", FileMode.Create))
using (var archive = new ZipArchive(fileStream, ZipArchiveMode.Create))
{
archive.CreateEntryFromFile(@"C:\data.txt", "data.txt");
}
Для использования метода расширения CreateEntryFromFile необходимо подключить сборку System.IO.Compression.FileSystem.
Рекомендую изучить следующее руководство: https://msdn.microsoft.com/ru-ru/library/ms404280(v=vs.110).aspx
Используйте DotNetZip
Пример использования: создание архива
using (ZipFile zip = new ZipFile())
{
// add this map file into the "images" directory in the zip archive
zip.AddFile("c:\\images\\personal\\7440-N49th.png", "images");
// add the report into a different directory in the archive
zip.AddFile("c:\\Reports\\2008-Regional-Sales-Report.pdf", "files");
zip.AddFile("ReadMe.txt");
zip.Save("MyZipFile.zip");
}
И о сжатии файлов, подробнее читайте здесь и здесь
Архивирование - это очень обширное понятия. Если речь идёт о создании архивного файла в одном из распространённых форматов, то смотри ответы пользователей.
Если же тебе необходимо просто сжать файл для того чтобы уменьшить объем, и хранить его хоть на файловой системе, хоть в оперативной памяти, подойдёт более легковесный GZipStream.
Продвижение своими сайтами как стратегия роста и независимости