Diskuze: fabriclab - upload obrazku
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
height: parseInt($("#custom-size1").val() * 96),
width: parseInt($("#custom-size2").val() * 96),
width: parseInt(1 * 96),
height: parseInt(1 * 96),
'sa zmenší v tom canvase na buď šírku, alebo výšku toho canvasu
(podľa toho, čo je väčšie'
Takove podminky tam nikde v kodu nemas.
Na webu ted pouzivame pro obrazky toto css:
<div class="clanek clanek_s_obr">
<div class="img_left" style="background-image: url('https://plone.slu.cz/fpf/cz/clanky/cl_soubory/2018/2018_10_01_Zajezd_Dolni_Rakousy_a_Viden.jpg/@@images/image/large'); width: 150px; height: 130px; background-position: 50% 50%; background-size: cover;">
</div><div class="nadpis">...
Cili, z celeho tveho js by tam zustal jen kod pro upload obrazku a to css by si uz udelalo nahled samo. (je to neusporne, posila se cely obrazek, ale zajimave a u nas na tom trvaly)
Cez css to nemôžem spraviť, pretože ten obrázok tam fyzicky nieje, je to v tom canvase pomocou tej knižnice fabric.js.. Už som tam dal tú podmienku na šírku, a na výšku, to funguje, ale chcel by som ešte aby sa to prispôsobovalo, teda že keď originál ma napr. 500x200 tak sa to zmenší trebarz na 250x100.. Stačila by mi tá logika, ako to dosiahnem. Myslím, že človek, ktorý to robil to chcel dosiahnuť tými cyklami while, akurát mu to nejak nevydalo a nerobí to to, čo to má robiť
Nakoniec som to spravil takto, a funguje to
while(parseFloat(canvas.getActiveObject().width) > max_width ){
canvas.getActiveObject().set({
width: parseInt(canvas.getActiveObject().get('width')) / 2,
height: parseInt(canvas.getActiveObject().get('height')) / 2
});
}
'Myslím, že človek, ktorý to robil to chcel dosiahnuť tými cyklami
while'
Jo, budi to ten dojem, takze od toho kodu radeji ruce pryc.
Zmensovani principiane je
pomer = w / h
--
new_h = 300
new_w = new_h *pomer
--
new_w = 300
new_h = new_w * (1/pomer)
A pak ho muzes chtit napasovat do obdelnicku.
Rozhodne to neni treba resit while cyklem
Idealni pomuckou je k tomu papir a tam si nakreslit treba cervenou, carkovanou, jak se to ma do toho obdelnicku zvetsit a z toho ty rovnice uz vykoukas.
Zobrazeno 5 zpráv z 5.