Avatar billede botha Nybegynder
18. maj 2004 - 12:59 Der er 13 kommentarer og
1 løsning

billede skal max være 400x400px

hejsa
kan man lave et script så man forudbestemmer at billederne vises på en hjemmeside i max 400x400px

dvs. hvis billedet er 600x400 så vises det i 400x300px
og hvis det er 400x600 så vises det i 300x400px

Propertionerne skal beholdes, men den længste side af billedet SKAL være 400px. og den korteste skal så laves det mindre.

Må gerne laves i asp eller javascript.

fx (virker naturligvis ikke):
<img border="0" src="foto.jpg" width="max400" height="max400">
Avatar billede thedeathart Nybegynder
18. maj 2004 - 13:05 #1
du nøjes med at angive width=400" så udregner den selv højden, eller omvendt.
Avatar billede botha Nybegynder
18. maj 2004 - 13:07 #2
ja men når nu der er forskellige str. billeder.
dvs. nogle er højformat, og andre er bredformat.

scriptet skal gerne undersøge hvad der er størt : bredde eller højde, og dernæst vælge at denne skal være 400px og den anden mindre.
Avatar billede Slettet bruger
18. maj 2004 - 13:26 #3
thedeathart > Hvis du kun angiver width i et <img> - tag udregner HTML ikke selv den proportionsmæssige anden størrelse. Den vil bare poste et billede der er 400 px i bredde og den originale højde.

--
pacroon
Avatar billede alvion Nybegynder
18. maj 2004 - 13:59 #4
botha -> Hvis jeg lige må vende løsningen på hovedet: Har du adgang til f.eks. PHP? Så har jeg en løsning.
Avatar billede botha Nybegynder
18. maj 2004 - 14:03 #5
nej jeg har kun adgang til ASP, men skulle det ikke være muligt i ASP også ?
Avatar billede 3xm Nybegynder
18. maj 2004 - 14:05 #6
jeg har vist en javascript-løsning liggende et sted... hæng på!

=)
Avatar billede 3xm Nybegynder
18. maj 2004 - 14:09 #7
function billede(bld) {
  var bid = 0;
  for (i=0; i<document.images.length;i++) {
    if (document.images == bld) {
      bid = i;
    }
  }
  if (document.images .width > 400) {
    document.images .width = '400';
  }
}

og så på alle indsatte billeder:

<img src="./billede.png" onload="billede(this);" alt="billede" />
Avatar billede 3xm Nybegynder
18. maj 2004 - 14:11 #8
man bør måske notere sig at det i fremtiden bliver meget lettere, da css3 har maxheight og maxwidth (og tilsvarende min-egenskaber). desværre understøtter internet explorer ikke dette endnu, så man er stadigt nødt til at fuske sig ud af det med noget scripting.

=)
Avatar billede 3xm Nybegynder
18. maj 2004 - 14:14 #9
med 'alle indsatte billeder' mener jeg selvfølgelig kun dem du vil styre størrelsen på.

kan desuden se at der skal bygges lidt videre på det for at det også tager højde for højden. men det kan en rask javascripter vel selv finde ud af?

=)
Avatar billede 3xm Nybegynder
18. maj 2004 - 14:28 #10
pacroon, jeg er ret sikker på at thedeathart har ret. sådan virker det i hvert fald i de browsere jeg har testet.
Avatar billede alvion Nybegynder
19. maj 2004 - 07:39 #11
botha -> ASP kræver at du også har adgang til en eller anden tredje-parts komponent (f.eks. ASPImage). Hvis du ikke har det, så er 3mx's løsning nok den bedste.
Avatar billede Slettet bruger
19. maj 2004 - 14:45 #12
Jeg prøver lige at at skrive lidt pseudo-javascript, så det skalerer billederne i stedet for bare at "presse" dem ind i størrelsen:

var skala = 1;
var nybredde = bredde;
var nyhoejde = hoejde;

if (bredde > 400) {
  skala = bredde/400;
}

if (hoejde*skala > 400) {
  skala = hoejde/400;
}

nyhoejde = hoejde*skala;
nybredde = bredde*skala;

Grunden til at jeg ikke forsøger at skrive det helt rigtigt, er at jeg har ikke meget styr på javascript. Den ovenstående kode skulle let kunne laves til en fungerende funktion, der kan bruges i en løkke, der drøner gennem alle billeder med en bestemt klasse eller lignende.
Avatar billede botha Nybegynder
21. juli 2004 - 15:31 #13
svar venligst sandbox
Avatar billede Slettet bruger
21. juli 2004 - 23:50 #14
Javel.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester