Sie könnten versuchen net-vips , die C#-Anbindung für libvips . Es handelt sich um eine "lazy", streaming, bedarfsgesteuerte Bildverarbeitungsbibliothek, die Operationen wie diese durchführen kann, ohne dass das gesamte Bild geladen werden muss.
Zum Beispiel verfügt es über einen praktischen Thumbnailer für Bilder:
using Image image = Image.Thumbnail("image.jpg", 300, 300);
image.WriteToFile("my-thumbnail.jpg");
Sie unterstützt auch den intelligenten Bildzuschnitt, der den wichtigsten Teil des Bildes bestimmt und ihn beim Zuschneiden des Bildes im Fokus behält. Zum Beispiel:
using Image image = Image.Thumbnail("owl.jpg", 128, crop: Enums.Interesting.Attention);
image.WriteToFile("tn_owl.jpg");
Wo owl.jpg
ist eine außermittige Zusammensetzung:
Ergibt dieses Ergebnis:
Zuerst wird das Bild verkleinert, um die vertikale Achse auf 128 Pixel zu bringen, dann wird es auf 128 Pixel Breite beschnitten, indem die attention
Strategie. Bei dieser Strategie wird das Bild nach Merkmalen durchsucht, die einem Menschen ins Auge fallen könnten, siehe Smartcrop()
für Details.