У меня есть TIFF с одним обтравочным контуром, хранящимся в файле 8BimProfile. Теперь я хочу обрезать это изображение вдоль обтравочного контура.Как обрезать изображение на обтравочный контур?
То, что я пытался
Мой первый подход заключается в использовании метода MagickImage Clip(), который, кажется, ничего не делать:
using (var image = new MagickImage(pathOfFileToClip))
{
image.Clip();
image.Write(targetPath);
}
Обходной я в настоящее время с помощью вызовов возможны convert.exe инструментов ImageMagick :
var wrappedFilePath = "\"" + pathOfFileToClip + "\"";
var arguments = wrappedFilePath + " -alpha transparent -clip -alpha opaque -strip " + wrappedFilePath;
var process = new System.Diagnostics.Process();
var startInfo = new System.Diagnostics.ProcessStartInfo
{
WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden,
FileName = @"C:\Program Files\ImageMagick-6.9.3-Q16\convert.exe",
Arguments = arguments
};
process.StartInfo = startInfo;
process.Start();
Это прекрасно работает и обрезает изображение так, как я хочу. Но как я могу заставить это работать без EXE?
Просто принимать аргументы командной строки, как это не получилось:
using (var image = new MagickImage(pathOfFileToClip))
{
image.AlphaColor = new MagickColor(Color.Transparent);
image.Clip();
image.AlphaColor = new MagickColor(Color.Black);
image.Strip();
image.Write(targetPath);
}
Любые предложения или ссылки на рабочих растворов оценены.
Strip() не требуется обрезать изображение. Strip просто удаляет все метаданные. – Undercover1989