Portál AbcLinuxu, 10. května 2025 09:00

Dotaz: Čím vytvořit rotující, malý GIF obrázek?

1.7.2006 21:14 Martin Böhm | skóre: 17 | blog: Martinův stánek | Je mi to MFFUK
Čím vytvořit rotující, malý GIF obrázek?
Přečteno: 2216×
Odpovědět | Admin
Ahoj všichni,

co byste mi doporučili za nástroj, který mi umožní rychle vytvořit (plynulou) animaci - rotaci obrázku o 360 stupňů - ve formátu GIF? (použití: "throbber" ve Firefoxu)

Mám na to pár podmínek:

1. Obrázek je velice malý, méně než 24x24. Potřebuji tedy, aby se obrázek během rotace nerozostřoval, ale aby v posledním snímku vypadal jako na prvním (Při použití GIMPu se právě tato chyba odehrála).

2. Obrázek je asymetrický, potřebuji si zvolit vlastní střed rotace, který se nerovná středu obrázku.

3. Potřebuji zachovat průhlednost pozadí.

(4. Nechci dělat 70x to samé, pokud možno nějaký automatický nástroj :o)

Děkuji za odpovědi,

Martin Böhm
5 z 0 přetečení bufferu doporučuje Korespondenční seminář z programování (pro středoškoláky programátory).
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.7.2006 21:26 midar | skóre: 21 | blog: starý blog
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
Odpovědět | | Sbalit | Link | Blokovat | Admin
jindra by poradil GIF Animator :-) :-( :'(
1.7.2006 21:34 Martin Böhm | skóre: 17 | blog: Martinův stánek | Je mi to MFFUK
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
Myslel jsem, že to je předpokládatelné, ale: 5. Musí to mít balík pro Ubuntu,Debian nebo alespoň zdrojový kód k dispozici.
5 z 0 přetečení bufferu doporučuje Korespondenční seminář z programování (pro středoškoláky programátory).
1.7.2006 21:52 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
Tenhle thread mě taky zajímá...
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
1.7.2006 22:01 fakenickname | skóre: 42 | blog: fakeblog
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
je nás asi víc.. já vím akorát o inkscape, gimpu, blenderu, cinepaintu, ale to asi nebude ono..
1.7.2006 23:22 J. M. | skóre: 23 | blog: JMblog
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pro úpravy beze ztráty - aby při rotaci byl poslední ve stejné kvalitě jako první - je dobré používat vektorovou grafiku. Nakreslit si to logo vektorově a pak ho ve vektorovém editoru otáčet, deformovat atd. A jednotlivé fáze exportovat do bitmapových obrázků. Použít lze např. Inkscape.
2.7.2006 00:03 Martin Böhm | skóre: 17 | blog: Martinův stánek | Je mi to MFFUK
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
Jak píšu, byla by to práce na celý den pro nějakou sekretářku ... nebo víte, jak to naskriptovat?

Navíc Inkscape má určitou malou "chybku" v tomhle - pokud nastavím vlastní střed otáčení jednomu objektu a přepnu na jiný, střed otáčení u toho prvního se resetuje - nastavovat to pokaždé znovu je _velice_ nepohodlné. Na rotaci a následné exporty se právě proto Inkscape použít (téměř) nedá ...

(PS: Nebo Inkscape snad používám špatně? Věděl byste, jak zadat danému objektu střed otáčení?)
5 z 0 přetečení bufferu doporučuje Korespondenční seminář z programování (pro středoškoláky programátory).
2.7.2006 15:09 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
Navíc Inkscape má určitou malou "chybku" v tomhle - pokud nastavím vlastní střed otáčení jednomu objektu a přepnu na jiný, střed otáčení u toho prvního se resetuje - nastavovat to pokaždé znovu je _velice_ nepohodlné. Na rotaci a následné exporty se právě proto Inkscape použít (téměř) nedá ...

(PS: Nebo Inkscape snad používám špatně? Věděl byste, jak zadat danému objektu střed otáčení?)
Ano. Upgraduj na verzi 0.44.
2.7.2006 00:15 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
Odpovědět | | Sbalit | Link | Blokovat | Admin
# apt-cache search GIF|grep 'GIF'
gif2png - GIF -> PNG conversions
giflib-bin - programs to convert GIF images
giflib3g - shared library for GIF images (runtime lib)
giflib3g-dev - shared library for GIF images (development files)
gifsicle - Tool for manipulating GIF images
giftrans - Convert any GIF file into a GIF89a
libimage-size-ruby1.6 - ruby extension to measure image (GIF, PNG, JPEG , etc) size
libimage-size-ruby1.8 - ruby extension to measure image (GIF, PNG, JPEG , etc) size
libungif-bin - programs to convert GIF images
libungif4-dev - shared library for GIF images (development files)
libungif4g - shared library for GIF images (runtime lib)
mimetex - LaTeX math expressions to anti-aliased GIF images converter
# sudo apt-get install gifsicle
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
2.7.2006 11:03 Martin Böhm | skóre: 17 | blog: Martinův stánek | Je mi to MFFUK
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
Jste si jistý, že rotace lze libovolně krokovat? Díval jsem se na manuálové stránky a nalezl jsem:
--rotate-90 --rotate-180 --rotate-270 Rotate the following frames by 90, 180, or 270 degrees. --no-rotate turns off any rotation.
Použití libovolného kroku mi z tohoto popisu nevyplývá. Máte s tím osobní zkušenost?
5 z 0 přetečení bufferu doporučuje Korespondenční seminář z programování (pro středoškoláky programátory).
2.7.2006 11:57 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
Člověče, já jsem vám chtěl jenom poradit a ne za vás ještě myslet. Než budete pokládat takové dotazy, je dobré si program vyzkoušet.
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
2.7.2006 12:12 Martin Böhm | skóre: 17 | blog: Martinův stánek | Je mi to MFFUK
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
Vysvětlete mi, jak za mne myslíte. Říkal jsem Vám, že ten program podle manuálu program neumí, co potřebuji, a ptal jsem se Vás, jestli máte jiný názor - a Vy se na mne takto oboříte. To není moc dobrý přístup k lidem, kteří potřebují pomoci.

Pokud ten program znáte, mohl jste mi lehko říci, že:

gifsicle --rotate-81 kubuntu-base2.gif

gifsicle: unrecognized option '--rotate-81'
5 z 0 přetečení bufferu doporučuje Korespondenční seminář z programování (pro středoškoláky programátory).
2.7.2006 12:20 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
No tak jestli neumí to co potřebujete, tak si najděte jiný, celá věda.
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
2.7.2006 13:06 Martin Böhm | skóre: 17 | blog: Martinův stánek | Je mi to MFFUK
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
Proto se také ptám tady :o) Zatím jsem žádný pořádný nenašel, tak jsem doufal, že by mi nějaký zkušenější uživatel v tomto ovětví mohl něco doporučit, co by splnilo mé požadavky.

Spojit GIF obrázky v animaci není problém - problémem je hlavně to, jak rychle získat např. 100 snímků rotujícího malého obrázku bez nutnosti 100x opakovat stejnou činnost.
5 z 0 přetečení bufferu doporučuje Korespondenční seminář z programování (pro středoškoláky programátory).
2.7.2006 12:22 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
BTW jestli chcete rotovat, tak si připravte už hotové gify a ty pak splácněte dohromady.
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
2.7.2006 16:51 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Taková věc se dá napsat třeba v Pythonu:
#!/usr/bin/env python
import Image
from math import cos, sin, pi

im = Image.open('napis.png')

rot_center = (150, 62)
new_size = (50, 24)

h = rot_center[0]
k = rot_center[1]

for angle_deg in xrange(0, 360, 30):
    a = angle_deg*pi/180

    dx = -h * cos(a) + k * sin(a) + h
    dy = -h * sin(a) - k * cos(a) + k
    t = (cos(a), -sin(a), dx, sin(a), cos(a), dy)
    out = im.transform(im.size, Image.AFFINE, t)
    out = out.resize(new_size, Image.ANTIALIAS)
    out.save('new%03d.png' %angle_deg)
Prográmek vezme obrázek 'napis.png' (na kterém jsem to testoval). Pak prochází cyklem 0 až 360 stupňů s krokem 5 stupňů a pokaždé obrázek otočí kolem zadaného středu, naškáluje na žádanou velikost a uloží jako new[číslo].png.
Doporučuji originální obrázek udělat dostatečně velký a škálovat ho až po otočení. Jinak to vypadá hnusně.
kyknos avatar 2.7.2006 18:29 kyknos | skóre: 18 | blog: Quid novi? | Ranša Rosa
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkusil bych gimp-gap (GIMP Animation Package).
So the Nationalists and the Socialists have the same policy on Brexit. They should get together and form a...
2.7.2006 19:43 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Čím vytvořit rotující, malý GIF obrázek?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud by se Vám podařilo sehnat do Gimpu filtr, který umí udělat ono otočení, je na to Script-fi Animators - Selection to AnimImage, který umí filtr aplikovat opakovaně s proměnnými parametry (tedy požadavek 4).

K bodu jedna doporučuji pokaždé rotovat původní obrázek, postupně o x, 2x, 3x,… stupňů.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.