7

選択した入力画像ファイルの現在の品質(解像度/dpi/ppi)を確認したい。

私のコントロールは、画像アップローダー jquery プラグインです。

選択したファイルの品質を取得するにはどうすればよいですか?

(画面解像度ではなく、選択した画像ファイルの解像度が必要です)

4

1 に答える 1

5

ノート:

答えは Javascript ではなく C# にあります。JS でこれを行う方法はなく、元の質問では必須ではありませんでした。

元の質問について

これは、「高品質」の画像と見なされるものに大きく依存します(ところで、読みやすい)。ただし、品質係数は JPEG ファイルに直接保存されないため、ファイルから直接読み取ることはできません。

これらの要因のほとんどには、複雑な画像処理アルゴリズムが関係しています。ただし、がっかりしないでくださいPropertyItems。Image クラスのプロパティを使用していくつかのプロパティを読み取り、いくつかの計算を行って、サイズと dpi または ppi に基づいて画像の品質を把握できます。これは簡単な例です:

Bitmap bmp = new Bitmap("winter.jpg");
Console.WriteLine("Image resolution: " + bmp.HorizontalResolution + " DPI");
Console.WriteLine("Image resolution: " + bmp.VerticalResolution + " DPI");
Console.WriteLine("Image Width: " + bmp.Width);
Console.WriteLine("Image Height: " + bmp.Height);

これも役に立ちます:画像の解像度を取得するにはどうすればよいですか? (JPEG、GIF、PNG、JPG)

「でも、アップロードする前に選択したファイルの画質を確認したい」

アップロード前に画質を確認したい場合 (コメントで述べたように)、それは質問に大きなプラスです。必要な数値を取得するための唯一の組み込み方法は、新しいインスタンスを作成する (そして画像全体をデコードする) ことです。これは非常に非効率的です。しかし...ちょっと!開始点は次のとおりです。画像をロードせずに.NETで画像の寸法を確実に取得するにはどうすればよいですか?

参考文献:

于 2012-11-26T08:53:51.597 に答える