Autor | Zpráva | ||
---|---|---|---|
DanaStepkova Profil |
#1 · Zasláno: 3. 3. 2006, 16:14:55
Na internetové stránky mateřského centra Ratolest http://www.ratolest.ic.cz/
ukládám obrázky dětí, které nakreslily v našem kroužku kreslení Pastelky. Obrázky vždy vyfotím na kameru, stáhnu do počítače, kde je upravuji v AdobePhotoShop a případně dělám i ořezy, tudíž má každý obrázek jinou velikost. Na stránce jsou umístěny náhledy a já bych potřebovala, aby se obrázek po kliknutí na náhled otevřel do nového okna ve své původní velikosti, pokud je menší než rozměr obrazovky, případně aby se automaticky přepočítaly oba jeho rozměry tak, aby se do obrazovky vešel celý. Na internetu jsem našla článek, kde je popis funkce nabízející zvětšit či upravit obrázek na celou obrazovku. http://interval.cz/clanek.asp?article=2189 Bohužel,tak jak ta funkce je napsána mi to nevyhovuje a pokoušela jsem se ji upravit k obrazu svému, ale programování moc nerozumím a tak jsem tam nasekala nějaké syntaktické chyby a něco ani upravit neumím a touto cestou bych chtěla požádat o radu. Vůbec si nevím rady, jak funkci upravit tak, aby se vyvolala při kliknutí na náhled obrázku, a obrázek, který se následně má načíst do nového okna byl tedy parametrem této funkce, a aby se nové okno svou velikostí přizpůsobilo původní či upravené velikosti otevíraného obrázku. K otevírání obrázku používám tento mechanismus <a href="vytvarka/pastelky/lenicka/ptacek_kolicek_2strana.jpg" onclick="window.open(this.href,'_blank','left=0,top=0');return false"> <img src="vytvarka/pastelky/lenicka/ptacek_kolicek_2strana_small.jpg" xthumbnail-orig-image="vytvarka/pastelky/lenicka/ptacek_kolicek_2stran a.jpg" border="2"></a> Takže se otevře okno s aktuální velikostí okna a v něm je obrázek, ale s neupravenými rozměry, takže pokud má někdo menší rozlišení vidí ho jen část. Neumístila jsem tam posuvníky, protože je to stejně strašné, když člověk nemá možnost vidět ten obrázek celý, ale posouvat si ho. tady uvádím kus funkce s mými úpravami function FitImage(MyObj,ViewWidth,ViewHeight) { // funkce pøepoèítá nové rozmìry dle prostoru v oknì klienta var ImgScale = OrigW/OrigH; // pomìr stran pùvodního obrázku var ViewScale = ViewWidth/ViewHeight; // pomìr stran okna klienta MyObj.removeAttribute('width'); // preventivnì odebrat atribut width MyObj.removeAttribute('height'); // preventivnì odebrat atribut height tuto část jsem přidala, ale nefunguje to s ní if (OrigW<ViewWidth) and (OrigH<ViewHeight) {// pokud jsou oba rozmery obrazku mensi nez rozmery obrazovky, zachovat automaticky jejich puvodni rozmery kvuli kvalite zobrazeni na obrazovce Set Orig()} else pokud tam teď zadám obrázek s menšími rozměry než jsou rozměry obrazovky, objeví se ve své původní velikost, pokud má obrázek některý z rozměrů větší než rozměry obrazovky else se již neprovádí a obrázek se otevře ve svých původních rozměrech a nevejde se na obrazovku, proč? if (ImgScale>ViewScale) { // je možné natáhnout na šíøku MyObj.width=ViewWidth; // nastavit šíøku obrázku na dostupnou šíøku okna MyObj.height=ViewWidth/ImgScale; // nastavit vyøku obrázku podle pomeru ImgScale, aby nedoslo ke zkresleni obrazku } else { // je možné natáhnout na výšku MyObj.height=ViewHeight; // nastavit výšku obrázku na dostupnou výšku okna MyObj.width=ViewHeight*ImgScale; // nastavit šíøku obrázku podle pomeru ImgScale, aby nedoslo ke zkresleni obrazku } document.title= ImgObj.src + ' (' + ImgObj.width + 'x' + ImgObj.height + ')'; // do titulku nastavit zdroj obrázku a aktuální rozmìry } |
||
Meldo Profil |
#2 · Zasláno: 3. 3. 2006, 16:25:36
A nestacilo by, keby sa obrazok otvaral do noveho okna pomocou target="_blank" a obr. by mal standardne rozmer 800x600? Preco takto zlozito?
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0