[英]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.