Инициализатор типа для «Gdip» выдал исключение, когда я запускаю свой код на сервереC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Инициализатор типа для «Gdip» выдал исключение, когда я запускаю свой код на сервере

Сообщение Anonymous »

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

public async Task Handle(UploadImageRequest request, CancellationToken cancellationToken)
{
try
{
if (request.Files == null || request.Files.Count == 0)
{
throw new Exception("No files uploaded.");
}
if (request.Watermark == null)
{
throw new Exception("Watermark image is missing.");
}
var uploadedImagePaths = new List();

float opacity = ParseOpacity(request.Opacity);

using (var watermarkStream = new MemoryStream())
{
await request.Watermark.CopyToAsync(watermarkStream);
using (var watermarkImage = Image.FromStream(watermarkStream))
{
foreach (var file in request.Files)
{
string name = null;
try
{
name = Path.GetFileName(file.FileName);
}
catch
{
throw new Exception("Name");
}
if (name != null)
{
bool gdiPlusInstalled = GdiPlusCheck.IsGdiPlusInstalled();
if (gdiPlusInstalled)
{

}
else
{

}
using (var stream = new MemoryStream())
{
await file.CopyToAsync(stream);

using (var uploadedImage = Image.FromStream(stream))
using (var mergedImage = new Bitmap(uploadedImage.Width, uploadedImage.Height))
using (var graphic = Graphics.FromImage(mergedImage))
{
graphic.DrawImage(uploadedImage, 0, 0);
graphic.CompositingMode = CompositingMode.SourceOver;

var watermarkAttributes = new ImageAttributes();
watermarkAttributes.SetColorMatrix(new ColorMatrix { Matrix33 = opacity });

var watermarkWidth = (int)(uploadedImage.Width * 0.25);
var watermarkHeight = (int)(watermarkImage.Height * ((float)watermarkWidth / watermarkImage.Width));
var x = request.WaterMarkPosition switch
{
WaterMarkPosition.TopLeft => 0,
WaterMarkPosition.TopRight => uploadedImage.Width - watermarkWidth,
WaterMarkPosition.BottomLeft => 0,
WaterMarkPosition.BottomRight => uploadedImage.Width - watermarkWidth,
WaterMarkPosition.LeftMiddle => 0,
WaterMarkPosition.RightMiddle => uploadedImage.Width - watermarkWidth,
_ => (uploadedImage.Width - watermarkWidth) / 2,
};

var y = request.WaterMarkPosition switch
{
WaterMarkPosition.TopLeft => 0,
WaterMarkPosition.TopRight => 0,
WaterMarkPosition.BottomLeft => uploadedImage.Height - watermarkHeight,
WaterMarkPosition.BottomRight => uploadedImage.Height - watermarkHeight,
WaterMarkPosition.TopMiddle => 0,
WaterMarkPosition.BottomMiddle => uploadedImage.Height - watermarkHeight,
_ =>  (uploadedImage.Height - watermarkHeight) / 2,
};

graphic.DrawImage(watermarkImage, new Rectangle(x, y, watermarkWidth, watermarkHeight), 0, 0, watermarkImage.Width, watermarkImage.Height, GraphicsUnit.Pixel, watermarkAttributes);

using (var ms = new MemoryStream())
{
mergedImage.Save(ms, ImageFormat.Png);
var imageData = ms.ToArray();
try
{
var imageUrl = await _blobStorageService.UploadFileAsync(name, imageData);
uploadedImagePaths.Add(imageUrl);
}
catch
{
throw new Exception("Strorage");
}
}
}
}
}
}
}
}

return new Response(uploadedImagePaths);
}
}
При запуске на сервере я получаю это исключение. Я не понимаю, как устранить эту ошибку.

Подробнее здесь: https://stackoverflow.com/questions/784 ... de-in-serv
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Инициализатор типа для «Gdip» выдал исключение, когда я запускаю свой код на сервере
    Anonymous » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • System.drawing.common инициализатор типа для 'gdip' вызвал исключение
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Инициализатор типа для исключения «Gdip» в Windows 10
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Инициализатор типа для исключения «Gdip» в Windows 10
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Инициализатор типа для System.Management.Automation.Runspaces.InitialSessionState выдал исключение
    Anonymous » » в форуме C#
    0 Ответы
    89 Просмотры
    Последнее сообщение Anonymous

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