23

アップロードされたファイルを読み取るために使用しているこのコードがありますが、代わりに画像のサイズを取得する必要がありますが、どのコードを使用できるかわかりません

HttpFileCollection collection = _context.Request.Files;
            for (int i = 0; i < collection.Count; i++)
            {
                HttpPostedFile postedFile = collection[i];

                Stream fileStream = postedFile.InputStream;
                fileStream.Position = 0;
                byte[] fileContents = new byte[postedFile.ContentLength];
                fileStream.Read(fileContents, 0, postedFile.ContentLength);

ファイルを正しく取得できますが、画像 (幅とサイズ) を確認するにはどうすればよいですか?

4

3 に答える 3

50

まず、画像を書く必要があります:

System.Drawing.Image image = System.Drawing.Image.FromStream (new System.IO.MemoryStream(byteArrayHere));

その後、次のものがあります:

image.Height.ToString(); 

そしてその

image.Width.ToString();

注: アップロードされた画像であることを確認するためにチェックを追加することをお勧めします。

于 2013-05-20T13:28:54.580 に答える
3

画像をバッファーに読み込みます (画像を持っている場合はとにかくディメンションがあるため、読み取るストリームまたはバイト [] のいずれかがあります)。

public Size GetSize(byte[] bytes)
{
   using (var stream = new MemoryStream(bytes))
   {
      var image = System.Drawing.Image.FromStream(stream);

      return image.Size;
   }
}

次に、画像のサイズを取得できます。

var size = GetSize(bytes);

var width = size.Width;
var height = size.Height;
于 2015-05-03T10:35:20.587 に答える