|
Auteur: |
|
|
Dat is echt erg simpel hahahaha <img src="bladiebla.gif" onerror="this.src='pad_naar_alternatief_plaatje';"/> Zoiets.. In dit draadje kan je dat soort vragen trouwens beter kwijt: http://forum.zwaremetalen.com/forum_topic/1520657 |
|
soms zijn dingen inderdaad ook zo simpel dat je er niet op kan komen weet jij hoe ik het resultaat (error of ok) kan doorgeven aan een php-functie zodat ik bij geen error de image size kan laten opvragen en zonodig verkleinen? |
|
dan gaat het alsnog niet snel werken Edit: je moet dan vanuit de client iets op de server gaan doen, dus tijdens het opvragen van de paginá het resultaat per image naar een php-script in een nul-frame o.i.d. submitten en de output daarvan weer runtime op je pagina verwerken. Het kan wel, maar je moet het niet doen Gewoon geen image-size opgeven. Dan zoekt de browser het zelf uit! [Dit bericht is gewijzigd door Snaack op 24-01-2005 16:11] |
|
quote:nul-frames zijn zo 2003! XML objecten! I'm not being rude. You're just insignificant. |
|
wat ik wil is images die te groot zijn resizen zodat m'n layout niet naar de klote gaat. Ik kan natuurlijk alles naar een vaste breedte resizen maar daar heb ik geen zin in (plaatjes van 10 pixels worden ineens 450 pixels breedt...) hoe kan ik de te grote plaatjes dan toch laten resizen? |
|
quote: Moet het per se in PHP of mag het ook in JavaScript? (PHP is moeilijk, JavaScript is makkelijk.) Scream for mercy // He laughs as he's watching you bleed // Killer behind you // His blood lust defies all his needs // Look out I'm coming for you! |
|
alles mag, als het maar werkt als java de image kan controlleren op breedte en resizen indien nodig (nadat de pagina is geladen om vertraging te voorkomen) is het goed. |
|
quote: Je kan in JavaScript een onload-handler aan een plaatje hangen, waarin je de width en de height-property van het plaatje controleert of een van beide (of allebei) te groot is en eventueel dan op een kleinere waarde zetten. En - als je 100% zeker wilt weten dat de verhoudingen hetzelfde blijven - moet je de andere even uitrekenen en dan ook handmatig zetten. Ik heb zelf ooit ook zoiets gevogeld en toen had ik een plaatje van 400 x 300 (om maar een voorbeeld te noemen). Toen ik de width op 200 zette, bleef de height op 300 staan, hetgeen niet helemaal het goede resultaat gaf. Maar als je zelf dan even de height uitrekent (300 * 200/400 in dit specifieke geval), dan weet je 100% zeker dat het goed gaat. Ik heb het toen by the way onder een paar verschillende versies van Internet Explorer, Opera en Netscape getest, dus wat dat betreft moet het wel goed zitten. [Dit bericht is gewijzigd door altx op 24-01-2005 17:06] Scream for mercy // He laughs as he's watching you bleed // Killer behind you // His blood lust defies all his needs // Look out I'm coming for you! |
|
quote: Ik neem aan dat het over een forum/ gastenboek achtig iets gaat??? Dan kan je bij het posten van content de grootte van de afbeeldingen checken en evt resizen en op je server zetten. |
|
klinkt leuk maar heb je ook een voorbeeldje? php lukt me wel maar in java ben ik niet zo thuis |
|
quote: zeker in dat geval hoeft het maar 1 keer, probleem is echter wel dat we niet zoveel server ruimte hebben en dus zo min mogelijk op onze eigen server hosten. is een goede oplossing maar alleen geen optie voor ons... [Dit bericht is gewijzigd door Danas op 24-01-2005 17:13] |
|
Ik hoop dat het volgende goed is, want ik heb het ff snel gekopieerd en aangepast. Zo niet, moet je zelf maar ff wat experimenteren... function resize_image(img, maxwidth, maxheight) En dan: <IMG onload="resize_image(self, MAXWIDTH, MAXHEIGHT);"> waarbij MAXWIDTH en MAXHEIGHT dus de maximale breedte en hoogte van een plaatje zijn. Scream for mercy // He laughs as he's watching you bleed // Killer behind you // His blood lust defies all his needs // Look out I'm coming for you! |
|
ik heb de code iets gereduceerd omdat de hoogte er niet toe doet. <script language="JavaScript1.2"> function resize_image(img, maxwidth) { var oldwidth = img.width; var oldheight = img.height; if (oldwidth > maxwidth) { img.width = maxwidth; img.height = oldheight / (oldwidth / maxwidth); } else { } } </script> <IMG onload="resize_image(http://taka.szm.sk/shimo/picm/krigo.jpg, 25);"> deze code resulteerd alleen in een plaatje wat niet geladen wordt. de pagina geeft wel 'gereed' aan. |
|
Sorry, die "self" moet "this" zijn. (Ik ben Delphi-programmeur en in Delphi heet dat ding "self" (de pointer naar het huidige object). Je hebt nu een URL daar staan (en niet eens tussen aanhalingstekens), maar je moet voor die parameter het Image-object zelf aangeven. En in de onload van een plaatje zou "this" (zonder de aanhalingstekens al voldoende moeten zijn). Scream for mercy // He laughs as he's watching you bleed // Killer behind you // His blood lust defies all his needs // Look out I'm coming for you! |
|
oke dit werkt. <script> function resize_image(img, maxwidth) { var oldwidth = img.width; var oldheight = img.height; if (oldwidth > maxwidth) { img.width = maxwidth; img.height = oldheight / (oldwidth / maxwidth); } else { } } </script> <IMG src="http://taka.szm.sk/shimo/picm/krigo.jpg" onload="resize_image(this, 440);"> enige probleem nog, als ik deze code aan ubb.php toevoeg is alsnog me layout naar de klote (lettertypes worde anders enzow...) ksnap er zelf ook niks van. maar goed. de java-code werkt in ieder geval en ik kloot wel ff verder. in ieder geval bedankt! |
|
quote:Waarom niet gewoon met CURL de http heading opvragen |
|
gefixt met //dit in de head <script> function resize_image(img, maxwidth) { var oldwidth = img.width; var oldheight = img.height; if (oldwidth > maxwidth) { img.width = maxwidth; img.height = oldheight / (oldwidth / maxwidth); } else { } } </script> en dit in ubb.php <? function foto ($url,$titel){ $foto = "<a href="$url" target="_blank"><img src="$url" alt="$titel" border="0" onload="resize_image(this, 440);" onerror="this.src='images/error_plaatje.gif';"/></a>"; return $foto; } function UBB($waarde) { $waarde = preg_replace("/[ img](S+?)[/img]/e","foto('\1','\1')", $waarde); nu nog ff een popup erop zette als de pic verkleind wordt. op de een of andere manier wil ik er dus toch via php achter komen of ie te breed is of niet zodat ik iets kan gebruiken al <? if ($plaatje = $tebreed) { <a href"popup"><img blablabla></a> } else { <img blablabla> } ?> [Dit bericht is gewijzigd door Danas op 24-01-2005 18:40] |
|
bijkomend probleem, voor de popup heb ik de originele breedte en hoogte nodig... kmoet ze dus toch weten... Fire: wat bedoel je met CURL? |
|
quote: Da's op zich wel te bouwen. Ik ga zo nog wel ff wat klooien... Maar eerst ff wat eten. Scream for mercy // He laughs as he's watching you bleed // Killer behind you // His blood lust defies all his needs // Look out I'm coming for you! |
|
quote: http://nl.php.net/curl btw Pop-ups is zo 2001 |
|
quote: *kuch* |
|
ff heel snel in elkaar gedraaid (valt dus nog wel wat aan te verbeteren...): <HTML> Merk op hoe ik de oude hoogte en breedte nu niet in een variabele stop, maar opgeef als property van het betreffende Image-object, zodat ik bij het klikken op het plaatje deze weer terug kan halen. Op deze manier gaat het namelijk ook goed met meer dan 1 plaatje. Scream for mercy // He laughs as he's watching you bleed // Killer behind you // His blood lust defies all his needs // Look out I'm coming for you! |
Index / Administration |