Probuje stworzyc grafike skladajaca sie z postawowej grafiki, nalozonej na niej mniejsza grafike (composite) oraz w mniejszej grafice chce napisac tekst. Ogolnie system ma pozwolic na utworzenie czegos w rodzaju komiksu.
Pierwszy krok jaki wykonuje, to przy pomocy metody composite dodaje chwmurki na podstawowa grafike oraz zapisuje. Nastepnie na ten obrazek narzucic chce tekst. Uzywam metody annotate z Draw, no i tu pojawia sie problem. Juz pomijam sytuacje, ze musze sam lamac tekst, bo inaczej zostanie on wpisany w jednej linii. Ogolnie sprawa wyglada tak, ze tekst ktory narzucam na grafike pojawia sie, jednak w postaci bardzo slabej jakosciowo. Do tego w ogole nie uwzglednia okreslonej czcionki…
Probowalem juz wszelkich sposobow, roznego formatu plikow i dalej mam to samo. Robilem tez tekst przy pomocy Image.draw() z caption a nastepnie ten obrazek nakladalem na obrazek glowny, jednak trwa to zbyt dlugo, a i jakosc nie poprawia sie. (Jedyny plus caption w tym przypadku, to mozliwosc ustawienia size, czyli maks szerokosci tekstu gdzie bedzie automatycznie zalamywany)
Uzywam MacBooka z 10.7 Moutaint Lion, zainstalowany imagemagick. Moze sprzet ma jakies znaczenie w tym przypadku.
Oto kod
img_orig.annotate(txt, 0, 0, val['pos_x'].to_i+val['textarea']['pos_x'].to_i, val['pos_y'].to_i+val['textarea']['pos_y'].to_i, self.resource[key]) do
txt.font_family = "arial"
txt.pointsize = 24
txt.fill = 'black'
txt.font_weight = Magick::BoldWeight
txt.encoding = 'Unicode'
end
Pierwszy raz bawie sie tak konkretnie RMagickiem, jednak po przeczytaniu paru poradnikow sadzilem, ze wszystko pojdzie szybko. I szlo szybko, dopoki nie utknalem na tym #$%#$%# tekscie… Prosze podpowiedzcie mi gdzie popelniam blad, ewentualnie czy moge uzyc jakiegos zamiennika (inny gem jak Mini Magick?).
Zwracaja, owszem, jednak za wiele to nie zmienia. Bawilem sie text_antialias = true oraz false i znacznych zmian nie widac. Tymczasowym rozwiazaniem dla mnie jest zmniejszenie czcionki, wtedy tekst nie jest tak “brzydki”. Nadal jednak nie mam pelnego rozwiazania tego problemu… Dzieki mimo wszystko za podpowiedz Tomash, dosc sarkastyczna nota bene
spoko, dzieki za odpowiedz kombinowalem dalej z tym i niestety nie moge dojsc jak to rozwiazac… czuje sie jakbym lazil po jakims labiryncie. zostawie narazie to jak jest, a moze przeczyta ten post ktos, kto mial podobny problem i udalo sie go rozwiazac.
Kolejne pytanie - czy RMagick jest jedynym sensownym (albo i nie) rozwiazaniem dla gralfik w railsach? Moze ktos uzyl czegos innego ciekawego? Niekoniecznie na imagemagicku?
Ogolnie znalazlem rozwiazanie mojego problemu, w sumie dzieki Waszym podpowiedziom, ktore naprowadzily gdzie szukac. Wszystko rozchodzilo sie o fonty jakie mailem zainstalowane z imagemagickiem. A dokladnie to byla chyba tylko Helvetica, ktora jest domyslna…
Po reinstalacji imagemagicka oraz gema RMagick wszystko pieknie smiga
Tutaj jak zainstalowalem najnowszego imagemagick
curl -OL ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
tar -xzf ImageMagick.tar.gz
cd ImageMagick-6.7.2-7/
./configure --prefix=/usr/local --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 --disable-openmp --with-gs-font-dir=/usr/local/share/ghostscript/fonts -—with-freetype=yes
make
sudo make install
tylko oczywiscie GhostScript jest wymagany. Pozniej jeszcze szybka reinstalacja gema rmagick, text_antialias = true w kodzie i wszystko ladnie dziala.