Javascript-php képszerkesztő, betűtípus scale algoritmus
Üdvözletem!
Jelenleg egy javascript alapú egyszerű képszerkesztőt készítek, és a következő hibába botlottam.
A kép amelyet le kell generálni, az 9,4x5,4cm 300dpi felbontású, azaz 1110x638px. A szerkesztő felületem egyelőre 555x319px, de ez majd méretezhető lesz aránytartással.
Mivel a szerkesztő felület kisebb mint maga a készítendő kép, ezért a pozíciókat arányosan növelem. Az arányt úgy kapom meg, hogy a generálandó kép szélessége osztva a szerkesztő szélességével.
Kép esetén mint jól működik, viszont a betűtípusok nem lineárisan növekednek tehát ha 10px-es betűmérettel szerkesztek, akkor az a jelenlegi arányoknál 20px-es betűméretet jelentene. Ez a hiba, csak akkor jön elő, ha két szövegréteget jobb oldalra egy függőleges síkra helyezem rá.
Kerestem a betűtípusok scale algoritmusát, de sajnos nem jártam sikerrel. Már-már tehetetlen vagyok, a legújabb ötletem, hogy legyártok saját betűtípusokat amelyek mérete lineárisan nő/csökken, de ez túl körülményesnek bizonyul számomra. Nem megoldást várok, hanem a több szem többet lát elvén kérnék gontolatbeli segítséget.
A szerkesztő itt megtekinthető: http://gabesz.org/nv/ (A szövegmezők drag&drop-al mozgatgatóak)
Előre is köszönöm!
■ Jelenleg egy javascript alapú egyszerű képszerkesztőt készítek, és a következő hibába botlottam.
A kép amelyet le kell generálni, az 9,4x5,4cm 300dpi felbontású, azaz 1110x638px. A szerkesztő felületem egyelőre 555x319px, de ez majd méretezhető lesz aránytartással.
Mivel a szerkesztő felület kisebb mint maga a készítendő kép, ezért a pozíciókat arányosan növelem. Az arányt úgy kapom meg, hogy a generálandó kép szélessége osztva a szerkesztő szélességével.
Kép esetén mint jól működik, viszont a betűtípusok nem lineárisan növekednek tehát ha 10px-es betűmérettel szerkesztek, akkor az a jelenlegi arányoknál 20px-es betűméretet jelentene. Ez a hiba, csak akkor jön elő, ha két szövegréteget jobb oldalra egy függőleges síkra helyezem rá.
Kerestem a betűtípusok scale algoritmusát, de sajnos nem jártam sikerrel. Már-már tehetetlen vagyok, a legújabb ötletem, hogy legyártok saját betűtípusokat amelyek mérete lineárisan nő/csökken, de ez túl körülményesnek bizonyul számomra. Nem megoldást várok, hanem a több szem többet lát elvén kérnék gontolatbeli segítséget.
A szerkesztő itt megtekinthető: http://gabesz.org/nv/ (A szövegmezők drag&drop-al mozgatgatóak)
Előre is köszönöm!
transform:scale(...)
Ezt nem igazán értem, ha
Kliens oldalon módosítsál
Tehát, a szerkesztő panelre engeded rá a transform scale-t, majd onnan a szerver oldalnak valódi pozíciókat adsz át, és nem kell szerver oldalon semmit sem változtatni.
Ha 20-as betűméretet használsz egy olyan elemen, amelyet scale-lel felére nyomsz össze, akkor az pont a fele lesz, nem pedig mintha scale nélküli 10-es. (tehát ezzel az eredeti gondod kilőve)
IE8-ig működnie kell a
zoom
És, ha még hozzáadjuk, amit Poetro írt, hogy így is át kell számolni a betűméretet, akkor... mindegy, egy kísérletet mindenképpen megér. :)
Ez valóban megoldja a
filter: progid:DXImageTransform.Microsoft.Matrix()-ot próbálgatom, majd kiderül
IE alatt még nem sikerült
Ezzel a megoldással, annyi problémám lenne még, hogy így bele kéne túrnom a draggable-be is, hogy az egér pozíciója*2 legyen a box offset-je. Bár hozzáteszem, hogy így tökéletes a pozícionálás.
dpi
Nem GD library-t használok,
Biztos?
Tisztában vagyok vele, hogy
http://www.php.net/manual/en/imagickdraw.setfontsize.php
Nekem nem
Ebben a részében valóban
Nos, sikerült rávenni az
Több egyéb probléma is felmerült, pl a jquery.ui által nyújtott droppable függvénybe bele kellett túrni böngésző specifikusan, valamint PHP oldalon is böngészőnként más-más feldolgozás szükséges.
Amit észrevettem még, és szeretnék megoldást találni, hogy a span-on belüli térköz minden böngészőben más betűmérettől függően. Erre tud valaki valamilyen megoldást, számítást, irányzatot, css tulajdonságot amivel ezt ki tudnám küszöbölni.
Addig is a javított változat itt van: http://gabesz.org/nv
ELőre is köszönöm!
spacing?
Sajnos nem, mert nem a
A függőleges pozícionálás már
Most jelenleg a forgatással szívok, jó kis vektorgeometria.
Elvileg a boxok új szélességét így kapom meg:
A vízszintes korrigációnál már problémáim vannak, mert nem mindegy, hogy hány fokkal forgatom
Továbbra is itt található http://gabesz.org/nv