Existem situações no projeto em que precisamos saber as propriedades de uma figura, como tamanho em Bytes, largura e altura em pixels ou a resolução, para determinarmos se a figura é adequada para a aplicação, ou se possui as propriedades corretas como tamanho, para fazer um download em um website.
Para obter as propriedades da figura podemos utilizar a classe abstrata Image. No código da Listagem 1 obtemos o tamanho em Bytes, a largura x altura em pixels e a resolução horizontal x resolução vertical em dpi.Listagem 1
class Program
{
static void Main(string[] args)
{
// Lê o arquivo da figura
FileStream stream = new FileStream("imagem1.jpg", FileMode.Open);
int imageSize = 0;
int imageWidth = 0;
int imageHeight = 0;
float imageHorizontalDpi = 0.0f;
float imageVerticalDpi = 0.0f;
// Obtêm as propriedades da figura
using (Image image = Image.FromStream(stream, false, false))
{
imageSize = Convert.ToInt32(stream.Length);
imageWidth = image.Width;
imageHeight = image.Height;
imageHorizontalDpi = image.HorizontalResolution;
imageVerticalDpi = image.VerticalResolution;
}
Console.WriteLine("Tamanho da Figura em Bytes: " +
imageSize);
Console.WriteLine("Largura x Altura da Figura: " +
imageWidth.ToString() + " x " + imageHeight + " pixels");
Console.WriteLine("Resolução da Figura: " + imageHorizontalDpi + " x " +
imageVerticalDpi + " dpi");
Console.ReadLine();
}
}
Para a figura utilizada no código da Listagem 1 obtemos o seguinte resultado:
Tamanho da Figura em Bytes: 83794
Largura x Altura da Figura: 800 x 600 pixels
Resolução da Figura: 96 x 96 dpi