2011-07-07 23 views
5

Próbuję owinąć obraz wokół cylindra w RMagick (ImageMagick) i mam ciężki czas. Istnieje kilka rodzajów zniekształceń (Beczka, Łuk, Zawał, itp.), Które wydają się być dobrym początkiem, ale nic naprawdę nie pasuje. Odkryłem także wiele skomplikowanych rzeczy z linii poleceń (z skomplikowaną matematyką), ale to nie pomaga mi z RMagick. Skrypty ImageMagick Freda zawierają skrypt cylinderize, ale jest on dość złożony i wykonuje wiele operacji na linii poleceń, które powodują problemy z konwersją do wywołań RMagick.Jak mogę pobrać RMagick do zawijania obrazów wokół cylindra?

Czy jest ktoś, kto zrobił to wcześniej lub może przekonwertować linie poleceń ImageMagick do połączeń RMagick?

+8

jeśli masz działającą wywołanie bash ImageMagick, dlaczego nie po prostu to wypakować? – Ian

+0

To jest pomysł, który warto wziąć pod uwagę, ale wyrzucenie go jest naprawdę złym zajęciem i należy go traktować jako ostateczność. Jestem przekonany, że można to osiągnąć w RMagick, po prostu nie wiem jak. :( –

+9

Wiem, że jest tam "przesąd" (podzielam go do pewnego stopnia), ale myślę, że jest to w dużej mierze bezpodstawne, w tym przypadku może być korzystniejsze, RMagick może spowodować poważne problemy z pamięcią, jeśli nie t zrobić poprawnie GC Jeśli przejdziesz do innego procesu, nie ma żadnych problemów z pamięcią w głównej aplikacji.Należy również zauważyć, że "zło powłoki" jest dokładnie to, co robi MiniMagick, do wielkiego sukcesu. – Ian

Odpowiedz

0

Po prostu na piggyback na to, co wskazał Ian - jest absolutnie w porządku, aby wypłynąć, gdy musisz wykonać połączenia ImageMagick. ImageMagick jest znany z powodowania wycieków pamięci i problemów z GC.

W jednym bardzo dużym systemie produkcyjnym, który wspieram, system obrazowania wyraźnie nie łączył się z IM komunikatem: , a nie. Zamiast tego mieli klasę konstruktora wyrażeń, która tworzyła odpowiednią komendę powłoki, aby wykonać konwersję. To było więcej pracy, ale także bardziej stabilne.

Powiązane problemy