У меня есть изображение tiff с двумя страницами. когда я конвертирую файл в формат jpg, я потерял две страницы. Есть ли способ поместить два изображения в файл tiff в один файл jpg. Из-за слишком больших файлов TIFI я должен уменьшить их размеры.Есть ли какой-либо способ уменьшить размер файлов tiff программно? Это также может быть решением для моей проблемы.
Конвертировать tiff в формат jpg
Ответ 1
Поскольку TIFF может содержать несколько фреймов, но JPG не может, вам нужно преобразовать каждый отдельный фрейм в JPG.
Взято из Образцы окна Windows Dev:
public static string[] ConvertTiffToJpeg(string fileName)
{
using (Image imageFile = Image.FromFile(fileName))
{
FrameDimension frameDimensions = new FrameDimension(
imageFile.FrameDimensionsList[0]);
// Gets the number of pages from the tiff image (if multipage)
int frameNum = imageFile.GetFrameCount(frameDimensions);
string[] jpegPaths = new string[frameNum];
for (int frame = 0; frame < frameNum; frame++)
{
// Selects one frame at a time and save as jpeg.
imageFile.SelectActiveFrame(frameDimensions, frame);
using (Bitmap bmp = new Bitmap(imageFile))
{
jpegPaths[frame] = String.Format("{0}\\{1}{2}.jpg",
Path.GetDirectoryName(fileName),
Path.GetFileNameWithoutExtension(fileName),
frame);
bmp.Save(jpegPaths[frame], ImageFormat.Jpeg);
}
}
return jpegPaths;
}
}
Ответ 2
using System.Drawing;
using System.Drawing.Imaging;
Bitmap bm=Bitmap.FromFile("photo.tif");
bm.Save("photo.jpg",ImageFormat.Jpeg);
Ответ 3
Мы столкнулись с некоторыми проблемами при преобразовании файлов TIF в JPEG, поскольку формат TIF поддерживает некоторые типы сжатий, которые не поддерживаются в бесплатных наборах инструментов. Я искал в Интернете и пытался использовать некоторые коммерческие инструменты, но большинство из них трудно реализовать со многими ограничениями. Инструментарий, который привлек мое внимание, это руководство, потому что оно поддерживает загрузку и сохранение многих форматов файлов (включая изображения TIF с различными сжатиями). Мы использовали этот инструментарий для преобразования наших изображений в формат JPEG. Дополнительную информацию вы можете найти на следующей странице: http://support.leadtools.com/CS/forums/8925/ShowPost.aspx
Обратите внимание, что вы можете конвертировать любой код VB.Net в С# с помощью этого бесплатного конвертера кода: http://www.developerfusion.com/tools/convert/vb-to-csharp/