Следният (опростен) C # код създава многофазов TIFF файл:
using System.Windows.Media.Imaging;
var tiffBitmapEncoder = new TiffBitmapEncoder();
using (var ms = new MemoryStream())
{
tiffBitmapEncoder.Compression = TiffCompressOption.Zip;
foreach (.....)
{
//Generate the image to add to tiff
.....
var bitmapSource = new BitmapImage(new Uri(.....));
tiffBitmapEncoder.Frames.Add(BitmapFrame.Create(bitmapSource));
}
tiffBitmapEncoder.Save(ms);
}
Компресията изглежда се прави на всяка рамка / bitmap поотделно. Следователно размерът на файла нараства линейно с броя на кадрите / картинките.
Има ли начин да се компресира TIFF файла като цяло?
Отговори:
0 за отговор № 1Има ли начин да се компресира TIFF файла като цяло?
Кратък отговор: Не. Снимките TIFF винаги са компресирани за изображение / плочка / лента.
Малък печат: Възможно е за JPEG кодирани TIFF файлове да се споделят таблици, това може да е по-добро от линейното нарастване, но не мисля, че това е това, което търсите.
Можете, разбира се, да създадете некомпресиран TIFF файл и да го компресирате gz
, zip
или подобни инструменти. Все пак няма да е файл с TIFF и се съмнявам, че ще се компресира по-добре от TIFF с ZIP / Deflate + Predictor.