ファイルをバイトに開き、文字列に変換し、一部のデータを変更し (ステガノグラフィーと考えてください)、ファイルをバイトに戻して jpeg として保存しようとしています。これまでのところ、私が試したことはすべて、ファイルを文字列に変換する際に破損しています。私はそれを64ビット文字列に変換しようとしましたが、もちろん、データを変更するのは少し難しいです:P
ファイルを破損することなく、これを適切に行う方法について何か提案はありますか?
ファイルをバイトに開き、文字列に変換し、一部のデータを変更し (ステガノグラフィーと考えてください)、ファイルをバイトに戻して jpeg として保存しようとしています。これまでのところ、私が試したことはすべて、ファイルを文字列に変換する際に破損しています。私はそれを64ビット文字列に変換しようとしましたが、もちろん、データを変更するのは少し難しいです:P
ファイルを破損することなく、これを適切に行う方法について何か提案はありますか?
これは 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をさらに小さくすることは素晴らしいことです(場合によってははるかに小さくなります)。