2016-06-14 22 views
2

Was ich nicht fürWie man die Größe ohne Anti-Aliasing mit RMagick

Ich bin derzeit nicht gesucht, wie man die Größe zu passen, ohne Anti-Aliasing mit ImageMagick Suche passen. Ich weiß, dass diese Antwort schnell im Web gefunden werden kann, da bereits alle Fragen auf ImageMagick gestellt wurden.

Kontext

Der Kontext ist ich ein großes Bild, das ich mehrere Arten von Bildschirmen, um die Größe haben zu passen. In fast allen Fällen geht alles gut, aber für kleine Dimensionen habe ich einige Unschärfen durch Aliasing. Meine Bilder sind alle schwarz & weiß und sehr einfach (es ist Barcodes), so brauche ich kein Aliasing.

Was ich suche

Was ich suche ist, wie mit RMagick, die Ruby-Implementierung von ImageMagick richtig zu ändern. Im Moment verwende ich die resize_to_fit Methode, um ein Bild zu skalieren, aber ich habe ein Problem mit Aliasing und es gibt keine Optionen, die an die Methode übergeben werden, die es deaktivieren könnte.

Ich überlege gerade, eine Methode zu schreiben, die das gleiche wie resize_to_fit tut, aber mit der Fähigkeit, Aliasing zu deaktivieren, aber keine Entscheidung für den Moment getroffen.

+0

Könnte [Magick :: Image.sample] (https://rmagick.github.io/image3.html#sample) was Sie suchen? Sie müssen 'resize_to_fit' selbst berechnen, aber das ist ein Einzeiler. – emcconville

Antwort

2

Sie erhalten bessere Ergebnisse mit einem speziellen Resampling filter für die kleineren Größen. Unterschiedliche Filter haben unterschiedliche Stärken und Schwächen, abhängig von der Art des Bildes, das Sie skalieren. Verwenden Sie die Methode resize anstelle von resize_to_fit. Mit der Größenänderungsmethode können Sie angeben, welcher Filter verwendet werden soll. Here's information über ImageMagick-Filter. Möglicherweise müssen Sie eine Test-und-Fehler-Bewertung durchführen, um zu sehen, welcher Filter am besten zu Ihren Bildern passt.

Denken Sie auch daran, dass JPEG-Bilder auf natürliche Weise Kompressionsartefakte verursachen. Versuchen Sie daher, diese Bilder als GIFs oder PNGs oder sogar TIFFs zu speichern, wenn Sie dies nicht bereits tun.

Benötigen Sie Hilfe bei der Berechnung der neuen Größe des Bildes? Sie können die Größenänderung mit change_geometry koppeln, um das Verhalten von resize_to_fit zu erhalten.