Képek méretének limitálása úgy, hogy engedem feltölteni, csak aztán megadott FÁJLMÉRETRE tömörítem/átméretezem/stb. spórolásként

Sk8erPeter képe

Sziasztok!

Egy olyan feladatot kellene megoldanom, hogy nagyméretű képek FÁJLMÉRETÉT egy megadott méretkorlátra lecsökkentsem (akár optimalizálással, akár felbontás-változtatással, stb.), DE engedjem feltölteni őket a júzernek - csak utána valahogy lecsapjam a méretét, majd az eredeti képet töröljem is a szerverről, és a kisebb méretűt hagyjam meg.

Ez azért lenne jó, mert akkor a hozzá nem értő júzerek is tudnák kezelni a felületet, akik nem tudják, hogyan kell átméretezni egy képet otthoni módszerekkel, egy egyszerű képszerkesztővel, és a tárhely sem telne meg, ha nagyon sok kép kerül feltöltésre (elvileg utóbbi a cél, ezért kellene ez a korlátozás).
Nyilván veszteséges tömörítés is lesz belőle így, ez ronthat a minőségen is, de elvileg most ez nem olyan fontos szempont.

Példa: 2 MB lehet a maximális képméret, a júzer feltölt egy 10 MB-os képet, a szerver ezt optimalizálja, tömöríti, akár csökkenti a felbontást, ha kell, aztán csak a max. 2 MB-os, veszteségesen tömörített képet hagyja meg, a 10 MB-osat nem. Így lehet tárhelyet spórolni. Ja, és mindezt osztott tárhelyen! Tehát ImageMagick nem játszik. :(

Tudtok ilyen jellegű megoldásról?
Találtam az ImageAPI Optimize modult, ami az optimalizálást elvégzi akár a Yahoo! Smush.It szolgáltatáson keresztül, de ez "csak" optimalizál, méretre megadás nincs, meg ezt a topicot találtam Drupal Answers-ön, és még C#-os elmélkedést olvastam (+1, 2), de ennél tovább, konkrétabb megoldásra nem jutottam.

Lehetséges egyáltalán ilyen, vagy felejtős?

Előre is köszi!

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
aboros képe

fileméretre "kicsinyítést" nem tudok, de pixelméretre a core imagefield is tud vágni. ha megadsz maximum képméretet, az annál nagyobb képet feltöltés után átméretezi és az átméretezettet tartja meg. kiszámolod, hogy a 2megabájt mekkora pixelméret 24bit színmélységnél tömörítetlenül és azt adod meg. ennél jobbat nem tudok, de ha találsz, érdekelne. :)

0
0

-
clear: both;