如何在不进行任何压缩的情况下保存位图文件

时间:2018-11-01 14:24:06

标签: c# .net-core bmp

我想保存位图文件(C#核心),而无需任何压缩。

有什么办法吗?

即我正在使用magickImage,并尝试使用bitdepth = 24(即RGB位数)进行保存,并使用RGB放置一个像素:

对于红色:十六进制79(十二月121),绿色:十六进制7A,蓝色:十六进制7B。

当我以二进制形式打开它时,即:

  

https://www.onlinehexeditor.com/

我看不到那些值(79十六进制,7a十六进制和7b十六进制)。

有什么方法可以使用精确的rgb值保存该图像?

此外,我打算将大型图像文件拆分为较小的部分(可以为100K x 100K像素),并采用快速简便的方法将它们合并在一起。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以轻松地将其转换为C#,但为什么不保存而又不讨厌它呢?

Private Shared Function ConvertImageBasic(filepath As String) As String

    Try

        'Open image
        Dim sourceImg As Bitmap = New Bitmap(filepath)

        'Set new path for the converted image
        filepath = IO.Path.GetTempPath & "image.bmp"

        'Save opened image as a bitmap file type
        sourceImg.Save(filepath, ImageFormat.Bmp)

    Catch ex As Exception

        MsgBox("Failed to convert image, " & ex.Message, vbRetryCancel)

    End Try

    ConvertImageBasic = filepath
End Function

您还可以使用ImageMagick保存它。

using (MagickImage image = new MagickImage(filepath))
{
    image.Format = MagickFormat.Bmp;
    image.Write("Snakeware.bmp");
}

关于附加图像,请看以下这些:

MagickImageCollection.AppendHorizontally()
MagickImageCollection.AppendVertically()