我有两页的tiff图像.当我将文件转换为jpg格式时,我丢失了第二页.有没有办法将tiff文件上的两个图像放入一个jpg文件中.因为tiff文件太大我不得不减小它们的大小.有没有办法以编程方式减少tiff文件大小?它也可以解决我的问题.
Ste*_*uer 29
由于TIFF可以包含多个帧但JPG不能,因此您需要将每个帧转换为JPG.
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;
}
}
Run Code Online (Sandbox Code Playgroud)
using System.Drawing;
using System.Drawing.Imaging;
Bitmap bm=Bitmap.FromFile("photo.tif");
bm.Save("photo.jpg",ImageFormat.Jpeg);
Run Code Online (Sandbox Code Playgroud)