我正在尝试将文件打开为字节,将其转换为字符串,修改一些数据(想想Steganography)并将文件转换回字节并将其另存为jpeg。到目前为止,我尝试过的所有内容都将文件转换为字符串时损坏了文件。我已经尝试将其转换为64位字符串,但当然要修改数据有点难:P
有关如何正确执行此操作的任何建议,而不会损坏我的文件?
答案 0 :(得分:3)
我在C#中没有这个,但在PHP中,你可以看看并适应C#。
http://www.havenard.110mb.com/fotomagica/
这是我的网站,其中有一个工具可以修改JPEG的EXIF数据,并构建“魔术图片”,在缩略图中显示不是真实图片的内容。
它打开JPEG,对其扇区进行切片,然后将其构建回来,忽略不相关的扇区并放置我自定义的EXIF标题。
这是PHP类的源代码: http://www.havenard.110mb.com/fotomagica/class.JpegMapper.php.txt(ExifMapper不完整) http://www.havenard.110mb.com/fotomagica/class.DataMapper.php.txt
您可以在C#中进行研究和重建,如您所见,切片JPEG非常简单。
使用此PHP类(仅限JpegMapper):
$jpg = new JpegMapper('picture.jpg');
$jpg->save_filtered('filtere picture.jpg'); // save removing irrelevant sectors
让任何JPEG更小(有时小得多)都很棒。