Как получить размер файла “Системы. Рисование. Изображение”

input::placeholder { 
 font-family: Arial;
}

input:-ms-input-placeholder { /* Internet Explorer 10-11 */
  font-family: Arial;
}

input::-ms-input-placeholder { /* Microsoft Edge */
  font-family: Arial;
}
26
задан Nick Allen 21 October 2008 в 10:48
поделиться

3 ответа

Если Вы получаете свое изображение непосредственно из файла, можно использовать следующий код для получения размера исходного файла в байтах.

 var fileLength = new FileInfo(filePath).Length; 

, Если Вы получаете свое изображение от другого источника, как получение одного битового массива и создание его с другим изображением, как добавляющий водяной знак, необходимо будет вычислить размер во времени выполнения. Вы не можете только использовать исходный размер файла, потому что сжатие может привести к различному размеру выходных данных после модификации. В этом случае можно использовать MemoryStream для сохранения образа к:

long jpegByteSize;
using (var ms = new MemoryStream(estimatedLength)) // estimatedLength can be original fileLength
{
    image.Save(ms, ImageFormat.Jpeg); // save image to stream in Jpeg format
    jpegByteSize = ms.Length;
 }
49
ответ дан 28 November 2019 в 07:02
поделиться

Если у Вас нет исходного файла, размер файла не ясен, поскольку это зависит от формата изображения и качества. Таким образом, то, что необходимо было бы сделать, записать изображение в поток (например, MemoryStream) и затем использовать размер потока.

2
ответ дан 28 November 2019 в 07:02
поделиться

System.Drawing.Image не даст Вам длину файла размера. Необходимо пользоваться другой библиотекой для этого.

int len = (new System.IO.FileInfo(sFullPath)).Length;
1
ответ дан 28 November 2019 в 07:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: