繁体   English   中英

将附加字节写入图片 c#

[英]Writing additional bytes to picture c#

任务是拍照,读取其所有字节,然后在原始文件的每个非零字节后写入额外的 15 个零字节。 示例:它是 B1,B2,...Bn,之后必须是 B1,0,0,..0,B2,0,0..,Bn,0,0..0。 然后我需要保存/替换新图片。 一般来说,我假设我可以使用 ReadAllBytes 之类的东西并创建一个字节数组,然后创建新的 byte[] 数组并从文件中获取一个字节,然后写入 15 个零字节,然后获取第二个字节等等。但是我怎么能确定它工作正常吗? 我不熟悉使用字节,如果我尝试打印从文件中读取的字节,它会显示一些没有任何意义的随机符号,这就留下了一个问题:我做得对吗? 如果可能的话,请指导我正确的方法和我需要用来实现它的功能,在此先感谢!

有关如何读取图像,请参阅如何将图像转换为字节数组

您似乎希望能够直观地查看数据。 出于调试目的,您可以将每个字节显示为十六进制字符串,这将允许您“查看”数组中每个元素的十六进制值。

public string GetBytesAsHexString(byte[] bArr)
{
    StringBuilder sb = new StringBuilder();

    if (bArr != null && bArr.Length > 0)
    {
        for (int i = 0; i < bArr.Length; i++)
        {
            sb.AppendFormat("{0}{1}", bArr[i].ToString("X"), System.Environment.NewLine);
            //sb.AppendFormat("{0}{1}", bArr[i].ToString("X2"), System.Environment.NewLine);
            //sb.AppendFormat("{0}{1}", bArr[i].ToString("X4"), System.Environment.NewLine);
        }
    }

    return sb.ToString();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM