Получить размер изображения из base64 в С#

Как получить размер изображения из base64 в С#?

Можно ли вообще сделать?


person DmitryBoyko    schedule 18.01.2017    source источник
comment
Полностью зависит от того, какой формат изображения вы используете. Пожалуйста, будьте более конкретными   -  person Rob    schedule 19.01.2017
comment
@Rob Это PNG и JPG   -  person DmitryBoyko    schedule 19.01.2017
comment
@Gigabyte Конечно, вы можете угадать ответ. Но это будет просто предположение, что является проблемой. Из исходного сообщения неизвестно следующее: почему base64 имеет значение? (Вопрос может заключаться в том, как читать base64 в формат изображения). Какой формат изображения вы используете? Что вы имеете в виду под размером? Габаритные размеры? Размер файла?   -  person Rob    schedule 19.01.2017


Ответы (1)


Не напрямую, поскольку это зависит от того, какие данные/формат закодированы в строке Base64. Грубый подход будет (код не тестировался):

byte[] image = Convert.FromBase64String("Your Base64 string here");
using (var ms = new MemoryStream(image))
{
    Image img = Image.FromStream(ms);
    return new Tuple<int, int>(img.Width, img.Height); // or some other data container
}

Примечание. Класс изображения происходит от System.Drawing. См. также MSDN System.Drawing Документация класса .Image документация.

person Gigabyte    schedule 18.01.2017
comment
Почему вы думаете, что это Размеры, а не Размер? ОП должен знать, что нужно указывать размеры, а не размер, если это то, что ему нужно. - person Jeremy Thompson; 19.01.2017
comment
@JeremyThompson Ты прав, я был слишком быстр. Будет обновляться соответственно. - person Gigabyte; 19.01.2017