Как создать миниатюру в .NETC#

Место общения программистов C#
Ответить
Anonymous
 Как создать миниатюру в .NET

Сообщение Anonymous »

Попытка создать миниатюры из байтового массива, содержащего изображения с расширением jpg или png, а затем отобразить их на странице Razor. Вот что у меня есть на данный момент. Массив байтов поступает из класса объектов, который содержит поле FileContent.
Буду очень признателен за любую помощь в том, что я делаю неправильно, и в следующих шагах.
Мой текущий подход заключался в том, чтобы взять массив байтов изображения, изменить его размер как миниатюру изображения, а затем сохранить его как другой массив, наконец, используя преобразование массива байтов, чтобы попытаться загрузить изображение во внешний интерфейс, который не сработало
Страница Razor

Код: Выделить всё




@{
var currItem = (context as DocumentObject);
byte[] thumbnail = GenerateThumbnail(currItem.FileContent);
var thumbnailUrl = $"data:image/jpeg;base64,{Convert.ToBase64String(thumbnail)}";

}


Бэкенд

Код: Выделить всё

protected byte[] GenerateThumbnail(byte[] imageStream)
{
using (MemoryStream ms = new MemoryStream(imageStream))
{
using (Image originalImage = Image.FromStream(ms))
{
using(Image thumbnail = originalImage.GetThumbnailImage(64,64,()=>false, IntPtr.Zero))
{
using(MemoryStream thumbnailStream = new MemoryStream())
{
thumbnail.Save(thumbnailStream, originalImage.RawFormat);
return thumbnailStream.ToArray();
}
}
}
}
}
При запуске программы я получаю следующую ошибку:
Необработанный компонент отрисовки исключений: инициализатор типа для «System.Drawing.DrawingCom» вызвал исключение.
System.TypeInitializationException: инициализатор типа для System.Drawing.DrawingCom вызвал исключение.

Подробнее здесь: https://stackoverflow.com/questions/784 ... ail-in-net
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»