Autor Zpráva
Katiish
Profil
Dobrý den, potřebuji poradit, jak udělat canvas ve formátu .jpg a ne výchozím .png. Jednoduše, aby při kliknutí na ,,uložit jako'' to vypsalo .jpg a ne .png.
Živá ukázka
použila jsem toDataUrl ale nefunguje to...
KryVosa
Profil
Hm... Naneštěstí funkcí toDataUrl nijak neupravuješ, co si ukládá uživatel. Tou sis akorát obrázek převedla do jiné formy abys s ním mohla dál pracovat... Napadá mě jen udělat náhradu za tu kontextovou nabídku, ve které "uložit jako" bude předávat to, co jsi vytvořila pomocí toDataUrl(). Takže pravděpodobně hledáš, jak uživateli postrčit soubor k uložení.
Edit: Druhou možností je samotný canvas překrýt obrázkem už z canvasu vyexportovaným.
Edit2: Tady je ukázka funkčního řešení.
Katiish
Profil
KryVosa:
ukázka sice funkční je, ale když tam dám místo toho čtverce obrázek, už se to tam nezobrazí.
Živá ukázka
KryVosa
Profil
Jsou tam hned dva problémy:
1) Ve chvíli, kdy se provádí funkce toDataURL() ještě nemusí být onloadem vykreslený ani jeden obrázek => canvas je prázdný.
2) U obrázků bude taky pravděpodobně problém s crossOriginem. Pokud potom budeš nahrávat obrázky ze stejné domény jako bude stránka, bude všechno v pořádku :)
Edit: Výsledek může vypadat nějak takto. Všimni si, že obrázky mi generuje doména kod.djpw.cz.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: