読拡張画像のプロパティをクライアントまで、フルのc#
-
20-09-2019 - |
質問
いの高さ/幅の画像をディスクなし開放していくことが可能であれば(パフォーマンス上の理由).
Windowsの物件の区画のための画像情報のような幅、高さ、ビット深度等 つながる思いで保存メタデータファイルのどこかということです。したいのでアクセスす。
解決
あstackoverflowにどのようにEXIF情報から、どっしりとした: どのように、EXIFファイルからデータを使用C#
他のヒント
使用System.Drawing.Imageクラス。
Image img = Image.FromFile(fileName);
ImageFormat format = img.RawFormat;
Console.WriteLine("Image Type : "+format.ToString());
Console.WriteLine("Image width : "+img.Width);
Console.WriteLine("Image height : "+img.Height);
Console.WriteLine("Image resolution : "+(img.VerticalResolution*img.HorizontalResolution));
Console.WriteLine("Image Pixel depth : "+Image.GetPixelFormatSize(img.PixelFormat));
Console.WriteLine("Image Creation Date : "+creation.ToString("yyyy-MM-dd"));
Console.WriteLine("Image Creation Time : "+creation.ToString("hh:mm:ss"));
Console.WriteLine("Image Modification Date : "+modify.ToString("yyyy-MM-dd"));
Console.WriteLine("Image Modification Time : "+modify.ToString("hh:mm:ss"));
これを実現する最も簡単な方法は、画像が正方形であると仮定すると、バイト単位のファイルサイズを取得し、平方根を取ることです。これは、あなたの幅と高さになります。
256 bytes = 16px x 16px
する :-)
それとも、あなたはこの CodePlexのライブラリ
Windowsんstore(こ)メタデータの特別な場所にファイルシステム;のプロパティ]ウィンドウだけを読み込みから画像ファイルそのものです。
いいと思います。当期純には、他の機能をお読みのメタデータ画像からず負荷の全体イメージです。い関数には限り異なる画像フォーマット(例えばみJPEG、PNG、GIF)べきではない読みにくいもののサイズの画像のヘッダます。
が、一方で、多くの画像フォーマットでもご覧いただけます。でのソースコードを Unix file
ユ.での管理を検知しサイズにするとともに、多くの異なる画像フォーマット、blazingly速ボタンをクリックします。
(、あなたがそれを置くように、基本的にメタデータ)を、画像の幅と高さを取得するためには、のの、ファイルを開いて、ヘッダ情報のいくつかの種類を解析し、何があなたを取得する必要がありますそのようにしたいです。
あなたはすべての色/ビットマップ情報、ヘッダのみを読み込む必要がないでしょう。
これは、Windowsが実際にそれらを実行せずにアプリケーションファイルからアイコンをロードすることができます同じ方法である。
チェックこの質問:
Windowsエクスプローラで表示されるプロパティを読み取るには、のマイクロソフトシェルコントロールとオートメーションのコンポーネントを使用することができます。この方法の利点は、あなたが(COMオブジェクトがすでに存在している)、または画像ヘッダを解析するための追加のコード任意のサードパーティのライブラリを必要としないこと、それは様々なフォーマットで動作するということです。
サンプルコードは、関連する質問への答えで見つけることができます>。