优化Bitmap获取过程
This commit is contained in:
@@ -500,10 +500,8 @@ namespace SpineViewer.Controls
|
|||||||
foreach (int i in listView.SelectedIndices)
|
foreach (int i in listView.SelectedIndices)
|
||||||
{
|
{
|
||||||
var spine = spines[i];
|
var spine = spines[i];
|
||||||
var image = spine.Preview;
|
|
||||||
var path = Path.Combine(Program.TempDir, $"{spine.ID}.png");
|
var path = Path.Combine(Program.TempDir, $"{spine.ID}.png");
|
||||||
using (var clone = new Bitmap(image))
|
spine.Preview.Save(path);
|
||||||
clone.Save(path);
|
|
||||||
fileDropList.Add(path);
|
fileDropList.Add(path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ namespace SpineViewer.Exporter
|
|||||||
{
|
{
|
||||||
image.SaveToMemory(out var imgBuffer, "bmp");
|
image.SaveToMemory(out var imgBuffer, "bmp");
|
||||||
using var stream = new MemoryStream(imgBuffer);
|
using var stream = new MemoryStream(imgBuffer);
|
||||||
return new(new Bitmap(stream));
|
return new(new Bitmap(stream)); // 必须重复构造一个副本才能摆脱对流的依赖, 否则之后使用会报错
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -380,7 +380,7 @@ namespace SpineViewer.Spine
|
|||||||
using var img = tex.Texture.CopyToImage();
|
using var img = tex.Texture.CopyToImage();
|
||||||
img.SaveToMemory(out var imgBuffer, "bmp");
|
img.SaveToMemory(out var imgBuffer, "bmp");
|
||||||
using var stream = new MemoryStream(imgBuffer);
|
using var stream = new MemoryStream(imgBuffer);
|
||||||
preview = new Bitmap(stream);
|
preview = new Bitmap(new Bitmap(stream)); // 必须重复构造一个副本才能摆脱对流的依赖, 否则之后使用会报错
|
||||||
}
|
}
|
||||||
return preview;
|
return preview;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user