async Task<List<string>> GetJpegFileNamesFromTiff(string fileName, string saveFolder)
{
var imageFileNameList = new List<string>();
using (var image = System.Drawing.Image.FromFile(fileName))
{
var frameDimension = new System.Drawing.Imaging.FrameDimension(image.FrameDimensionsList[0]);
var frameCount = image.GetFrameCount(frameDimension);
for (var frame = 0; frame < frameCount; frame++)
{
var savePath = Path.Combine(saveFolder, $"{System.Guid.NewGuid()}.jpg");
try
{
image.SelectActiveFrame(frameDimension, frame);
//image.Save(savePath, System.Drawing.Imaging.ImageFormat.Png);
//使用以下方法
var oldImg = new System.Drawing.Bitmap(image);
Bitmap img = new Bitmap(oldImg);
Graphics draw = Graphics.FromImage(img);
draw.DrawImage(oldImg, 0, 0, oldImg.Width, oldImg.Height);
oldImg.Dispose();
img.Save(savePath, System.Drawing.Imaging.ImageFormat.Jpeg);
img.Dispose();
draw.Dispose();
}
catch (Exception ex)
{
throw new Exception($"拆分tif文件'{fileName}'出错,{ex.Message}", ex);
}
imageFileNameList.Add(savePath);
}
}
return imageFileNameList;
}