【问题标题】:Extracting content .img file提取内容 .img 文件
【发布时间】:2017-10-18 10:49:59
【问题描述】:

我正在做一个项目,我们必须从.img 文件中提取信息。众所周知,.img 文件包含 512x512 像素的图像,每个像素的大小是 2 位类型的short。 我们必须从文件中提取该图像。问题是,如何使用C# 读取该文件?我当前的二进制读取行是:

byte[] bytes = System.IO.File.ReadAllBytes("C:\temp\Jonatan\test23.img");

感谢您的帮助!

【问题讨论】:

  • 你做到了,你只是读了它。现在你想用这些信息做什么?将其绘制到图像上并以其他格式显示或保存?然后你必须创建一个位图并分配像素颜色。
  • 是的,我想展示它。如何分配像素颜色?
  • 一些图像文件有一个file signature,表示文件格式。文件的前几个字节是什么?
  • 是0和248的序列
  • 查看是否匹配listed here 中的一种格式。如果不是,则很难说出它实际上是什么,以及像素是如何编码的。谁创建了那个文件?可能会问他们。

标签: c# wpf binaryfiles memorystream


【解决方案1】:

根据像素数据的实际格式,从字节数组创建位图可能很简单:

var width = 512;
var height = 512;
var stride = width * 2;

var bitmap = BitmapSource.Create(
    width, height, 96, 96, PixelFormats.Gray16, null, bytes, stride);

您现在可能在 XAML 中有一个 Image 元素

<Image x:Name="image"/>

并将其 Source 属性设置为 BitmapSource:

image.Source = bitmap;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多