Я немного искал обсуждения/форумы/StackOverflow/Официальная документация, но я не мог найти много информации о том, как добиться того, что я пытаюсь , Большая часть официальной документации охватывает версию ImageMagick из командной строки.Клонировать изображение для большего размера без изменения размера с помощью Magick.NET
Я опишу, что я пытаюсь сделать: У меня загружено изображение, которое я хотел бы вставить в более крупный. Пример: изображение, которое я загрузил, имеет ширину 9920, высоту 7085. Я хотел бы разместить его в середине большего (ширина 10594, высота 7387). У меня есть все готовые вычисления границ ([большая ширина - исходная ширина/2], то же самое касается высоты).
Но я не знаю, как это сделать, используя MagickImage. Вот максимальная я получаю:
private void drawInkzone(MagickImage loadedImage, List<string>inkzoneAreaInformation, string filePath)
{
unitConversion converter = new unitConversion();
List<double> inkZoneInfo = inkZoneListFill(inkzoneAreaInformation);
float DPI = getImageDPI(filePath);
double zoneAreaWidth_Pixels = converter.mmToPixel(inkZoneInfo.ElementAt(4), DPI);
double zoneAreaHeight_Pixels = converter.mmToPixel(inkZoneInfo.ElementAt(5), DPI);
using (MagickImage image = new MagickImage(MagickColor.FromRgb(255, 255, 255), Convert.ToInt32(zoneAreaWidth_Pixels), Convert.ToInt32(zoneAreaHeight_Pixels)))
{
//first: defining the larger image, with a white background (must be transparent, but for now its okay)
using (MagickImage original = loadedImage.Clone())
{
//Cloned the original image (already passed as parameter)
}
}
Вот максимальный я получил. Для достижения этой цели я использовал следующее сообщение:
How to process only one part of image by ImageMagick?
И я не использую GDI +, потому что я буду всегда работать с большими файлами TIFF (большие резолюции) и GDI +, как правило, бросать исключения (Параметр недействителен, из памяти), когда он не может обрабатывать все (я загрузил три изображения с таким разрешением и вышел из памяти).
Любая помощь будет любезно оценена, спасибо. Пабло.