jpgのようなイメージファイルには、回転ステータスを制御するためにいくつかのビットを使用するだけのものがあります。イメージファイルの回転状態をメモリにロードせずに変更する方法
メインメモリに画像ファイルをロードせずに、このステータスを変更するにはどのような方法があります
jpgのようなイメージファイルには、回転ステータスを制御するためにいくつかのビットを使用するだけのものがあります。イメージファイルの回転状態をメモリにロードせずに変更する方法
メインメモリに画像ファイルをロードせずに、このステータスを変更するにはどのような方法があります
ロードせずに表示され、にJPGイメージをデコードすることになっている方法を変更するにはJPGファイルをマークすることが可能ですメモリ内ビットマップ。 JPG画像ファイルにはオプションでEXIFメタデータセクションを含めることができ、カメラのモデル、シャッタースピード、ISO露出などに関連するデバイスや状況を記述することがよくあります。
EXIFメタデータJPG画像のピクセルをどのように表示面上に向けるべきかを画像ビューアアプリケーションに知らせるために使用されるオリエンテーションフラグを含む。このオリエンテーションフラグ(およびEXIFメタデータ)は、ピクセル画像データをロードまたはデコードすることなく、JPGファイルに読み書きすることができます。これはまた、イメージの解凍、回転、およびディスク上の新しいファイルへの再圧縮が行われないため、イメージの詳細を失うことなく方向を複数回変更できることを意味します。
これを行うには、JPGファイルのJFIFファイル形式を読み、EXIFセクションを見つけて抽出するC#コードが必要です。私は組み込みの.NET Image Readerがそういうものを提供しているとは思わない。
すべてのJPG読者がEXIFオリエンテーションフラグを守っているわけではないことに注意してください。 Windowsの組み込みの画像プレビューアプリケーションは、現在のバージョンのWindowsではEXIF方向フラグを尊重していますが、Windows XPなどの以前のWindowsバージョンではそうではありませんでした。
ここEXIFオリエンテーションフラグの詳細情報:http://jpegclub.org/exif_orientation.html
が、視聴者が実際にそれを行うどのように多くの...画像は実際には、視聴者はこのオリエンテーションフラグに従うことを必要とするでしょう回転参照するには? –
オリエンテーションフラグが視聴者によってサポートされる頻度が高くなることがわかりました。 Windows VistaおよびWindows 7イメージプレビューでは、オリエンテーションフラグが使用されます。プレビューアで画像を表示しているときにその向きを変更すると、画像の詳細が失われることなく、EXIFの向きフラグが変更されているように聞こえます。 JPGファイルをメモリ内のビットマップにロードするときに、.NET ImageクラスがOrientationフラグを受け入れるかもしれないと思うが、私はそれをテストしていない。 – dthorpe