1. async Task<List<string>> GetJpegFileNamesFromTiff(string fileName, string saveFolder)
    2. {
    3. var imageFileNameList = new List<string>();
    4. using (var image = System.Drawing.Image.FromFile(fileName))
    5. {
    6. var frameDimension = new System.Drawing.Imaging.FrameDimension(image.FrameDimensionsList[0]);
    7. var frameCount = image.GetFrameCount(frameDimension);
    8. for (var frame = 0; frame < frameCount; frame++)
    9. {
    10. var savePath = Path.Combine(saveFolder, $"{System.Guid.NewGuid()}.jpg");
    11. try
    12. {
    13. image.SelectActiveFrame(frameDimension, frame);
    14. //image.Save(savePath, System.Drawing.Imaging.ImageFormat.Png);
    15. //使用以下方法
    16. var oldImg = new System.Drawing.Bitmap(image);
    17. Bitmap img = new Bitmap(oldImg);
    18. Graphics draw = Graphics.FromImage(img);
    19. draw.DrawImage(oldImg, 0, 0, oldImg.Width, oldImg.Height);
    20. oldImg.Dispose();
    21. img.Save(savePath, System.Drawing.Imaging.ImageFormat.Jpeg);
    22. img.Dispose();
    23. draw.Dispose();
    24. }
    25. catch (Exception ex)
    26. {
    27. throw new Exception($"拆分tif文件'{fileName}'出错,{ex.Message}", ex);
    28. }
    29. imageFileNameList.Add(savePath);
    30. }
    31. }
    32. return imageFileNameList;
    33. }