dotblue / nette-webimages

On-the-fly generated web images for your Nette app
Other
26 stars 18 forks source link

Added support for different formats #5

Closed vojtech-dobes closed 9 years ago

vojtech-dobes commented 10 years ago

Support for:

Format is autodetected:

routes:
    - <id>/<width>x<height>.png

Or can be specified like this:

routes:
    - mask: "<id>/<width [0-9]+>x<height [0-9]+>"
      format: png

Default format can be set as well:

format: png
routes:
    - "<id>/<width [0-9]+>x<height [0-9]+>"
f3l1x commented 10 years ago

Mozna by nebylo spatne mit tam neco jako v route. Takhle bych musel mit tolik rout kolik typu obrazku. Chapu to spravne?

vojtech-dobes commented 10 years ago

Je to otázka - pro jaký usecase to potřebuješ? Když to totiž bude v routě, tak to znamená, že daný obrázek v dané velikosti (tj. identický obrázek :) ) chceš generovat v různých fomátech. Je to možné, ale já jsem se třeba s takovým požadavkem zatím v aplikaci nesetkal. I to issue jsem si otevřel čistě kvůli tomu, že jsem chtěl všechny obrázky ukládat jako PNG, ale ne že bych chtěl jeden obrázek ukládat jako JPEG i jako PNG.

Zkus prosím popsat svůj usecase. Určitě se tomu nebráním, ale kromě explicitní podpory by možná stačilo, kdyby to šlo vyřešit poděděním MediaRoute nebo tak něco.

f3l1x commented 10 years ago

No, jednou jsem delal galerii obrazku. Bylo tam asi 5 ruznych velikosti. A kazdy mohl nahrat obrazkem v jakemkoli formatu. Ve vypisu obrazku byly treba i GIFy nebo PNG s pruhlednym pozadim.

vojtech-dobes commented 10 years ago

Mohl bys prosím navrhnout, jak by to mělo fungovat?

f3l1x commented 10 years ago

Rikal jsem si, ze bys mohl mit parametr v masce a predaval by se do generateImage(). Vubec pekne reseni by bylo, kdyby se vytvoril nejaky konfiguracni objekt, ktery by se predaval generatoru, tam bys totiz mohl mit kolik parametru chces a snadno by se to prepisovalo. Takhle se predaji jenom vybrane parametry.

Treba v ImageRoute by byla metoda createImageConfig() a sla by lehko prepsat.

vojtech-dobes commented 9 years ago

@f3l1x Konfigurační objekt implementován, mrkni jak nyní vypadají ukázkové providery v examples.