在数据表中旋转图像(字节数组)

Jan*_*olo 3 c# wpf bytearray rotation

我有一个数据表设置为数据网格的项目源(数据网格显示数据表的几列)。除一列之外的所有列都有文本,最后一列将图像作为字节数组保存。图片列绑定到一个图像控件,该控件显示来自数据网格中选定行的图像。数据表保存的图像可以从磁盘位置或数据库中收集。最终,它们将全部保存在数据库中。

我有一个按钮,它应该将显示的图像顺时针旋转 90°,然后将它再次保存(作为字节数组)在完全相同的行(和列)的数据表中。

我尝试了无数种方法来做到这一点,但没有任何运气。有人可以帮我旋转和保存这张图片吗?

fuc*_*777 5

未经测试但应该可以解决问题(可能需要将图像加载到位图)

using (var memoryStream = new MemoryStream(byteArray))
{
    var rotateImage = Image.FromStream(memoryStream);
    rotateImage.RotateFlip(RotateFlipType.Rotate90FlipNone);
    rotateImage.Save(memoryStream, rotateImage.RawFormat);
    byteArray = memoryStream.ToArray();
}
Run Code Online (Sandbox Code Playgroud)

编辑:出于某种原因,我忘记将图像保存回流中......修复了

  • @NicolasR,我发现我必须设置图像类型:System.Drawing.Imaging.ImageFormat.Jpeg。例如。rotateImage.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg); (2认同)