2010-06-08 4 views
16

Ich suche fast Stunde für Beispiele der Verwendung von imagemagick.net in C# und ich kann nicht finden, antything.Wie benutzt man imagemagick.net in .net?

Alles, was ich brauche, ist Bildgröße (.jpg) auf neue Größe Bild (jpg, auch) und wäre toll, wenn Sie wissen, wie Wasserzeichen hinzufügen.

ich heruntergeladen imagemagick.net von

http://imagemagick.codeplex.com/

+0

haben Sie die endgültige Lösung mit Imagemagick o Magick erhalten? –

Antwort

6

Müssen Sie ImageMagick verwenden? Sie können GDI + verwenden, wenn Sie ein Bild in einer anderen Größe erneut bereitstellen möchten. http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-saving-cropping-and-resizing gibt diese Funktion für die Größenänderung. http://www.codeproject.com/KB/GDI-plus/watermark.aspx

private static Image resizeImage(Image imgToResize, Size size) 
{ 
    int sourceWidth = imgToResize.Width; 
    int sourceHeight = imgToResize.Height; 

    float nPercent = 0; 
    float nPercentW = 0; 
    float nPercentH = 0; 

    nPercentW = ((float)size.Width/(float)sourceWidth); 
    nPercentH = ((float)size.Height/(float)sourceHeight); 

    if (nPercentH < nPercentW) 
    nPercent = nPercentH; 
    else 
    nPercent = nPercentW; 

    int destWidth = (int)(sourceWidth * nPercent); 
    int destHeight = (int)(sourceHeight * nPercent); 

    Bitmap b = new Bitmap(destWidth, destHeight); 
    Graphics g = Graphics.FromImage((Image)b); 
    g.InterpolationMode = InterpolationMode.HighQualityBicubic; 

    g.DrawImage(imgToResize, 0, 0, destWidth, destHeight); 
    g.Dispose(); 

    return (Image)b; 
} 
0

This is a .net application written in c# that utilises the ImageMagick command line application to allow conversion of multiple image formats to different formats.
Sie können auch sehen, wie die Hülle here zu schreiben.
Über Wasserzeichen: Sie können my project verwenden, übrigens Verbesserungen vorschlagen, wenn Sie wollen :) Ich werde sie implementieren, wenn ich Zeit habe ..Zum Zeitpunkt hatte das Projekt keine Updates für lange Zeit, weil ich keine Motivation zu aktualisieren hatte es (obwohl niemand es braucht)

24

herunterladen: http://magick.codeplex.com Update-Link: https://github.com/dlemstra/Magick.NET auch über NuGet Paket-Manager Ich habe dieses Tutorial in der Vergangenheit für Watermarking verwendet.

Sie in Ihrem Projekt einen Verweis auf die

ImageMagickNET.dll machen

Sie müssen die Plattform x86 in Sie Konfiguration

Jetzt können Sie diesen Code verwenden Sie ein Bild gesetzt werden, um die Größe:

ImageMagickNET.MagickNet.InitializeMagick(); 
var image = new ImageMagickNET.Image("test.jpg"); 
image.Resize(new ImageMagickNET.Geometry("50%")); 
image.Write("result.jpg"); 

Statt die ImageMagick.Net Bibliothek verwenden können Sie auch das Programm direkt nutzen:

var proc = new Process 
{ 
    StartInfo = new ProcessStartInfo 
    { 
     FileName = "convert.exe", 
     Arguments = "-resize 50% -draw \"gravity south fill black text 0,0 'Watermark' \" test.jpg result.jpg", 
     UseShellExecute = false, 
     RedirectStandardError = true, 
     CreateNoWindow = true 
    } 
}; 

proc.Start(); 
string error = proc.StandardError.ReadToEnd(); 
proc.WaitForExit();