优化Bitmap获取过程

This commit is contained in:
ww-rm
2025-03-25 23:34:35 +08:00
parent c2cf25bb2b
commit 2d44be31f7
3 changed files with 3 additions and 5 deletions

View File

@@ -500,10 +500,8 @@ namespace SpineViewer.Controls
foreach (int i in listView.SelectedIndices)
{
var spine = spines[i];
var image = spine.Preview;
var path = Path.Combine(Program.TempDir, $"{spine.ID}.png");
using (var clone = new Bitmap(image))
clone.Save(path);
spine.Preview.Save(path);
fileDropList.Add(path);
}
}

View File

@@ -72,7 +72,7 @@ namespace SpineViewer.Exporter
{
image.SaveToMemory(out var imgBuffer, "bmp");
using var stream = new MemoryStream(imgBuffer);
return new(new Bitmap(stream));
return new(new Bitmap(stream)); // 必须重复构造一个副本才能摆脱对流的依赖, 否则之后使用会报错
}
}

View File

@@ -380,7 +380,7 @@ namespace SpineViewer.Spine
using var img = tex.Texture.CopyToImage();
img.SaveToMemory(out var imgBuffer, "bmp");
using var stream = new MemoryStream(imgBuffer);
preview = new Bitmap(stream);
preview = new Bitmap(new Bitmap(stream)); // 必须重复构造一个副本才能摆脱对流的依赖, 否则之后使用会报错
}
return preview;
}