Avatar billede ahrensberg Nybegynder
10. juni 2003 - 10:28 Der er 13 kommentarer og
1 løsning

Max "width" og "height" på et billede?

Hej Alle

Jeg sidder og er ved at lave en side som hente et billede og viser det med <IMG SRC... osv. Er der en kommando så man kan bestemme billedets max "width" og "height" da det ikke altid er det samme billede, og derfor heller ikke samme størrelse.

Problemet skal helst løses med alm. html, CSS (Style), JavaScript eller PHP.
Avatar billede ahrensberg Nybegynder
10. juni 2003 - 10:29 #1
De alm. kommandoer "width=?" og "height=?" kan ikke bruges, da dette jo vil trække i billedet, hvis ikke siderne har samme forhold!
Avatar billede jonbdk Nybegynder
10. juni 2003 - 10:31 #2
Du kan løse problemet med javascript, og så kun bruge enten width eller height.
Avatar billede jonbdk Nybegynder
10. juni 2003 - 10:56 #3
Nedenstående er ikke lige teste - bare lige flettet sammen. Det sammenligner med brugerens opløsning - 300 pixel.

myimage=new Image();
myimage.src="billede.jpg";
imgWidth = eval(myimage).width;
maxWidth = screen.width - 300;
if imgWidth > maxWidth then
document.write("<img src="billede.gif" width=maxwidth>
else
document.write("<img src="billede.gif">
END IF
Avatar billede jonbdk Nybegynder
10. juni 2003 - 12:12 #4
Det sidste var et svar
Avatar billede roenving Novice
10. juni 2003 - 12:46 #5
Hvis du skal lave det online bliver du nok nødt til at hive det ind i en skjult div, måle billedet og så tilpasse den rigtigt, som jonbdk beskriver det !-)
Avatar billede ferdinand.k Mester
10. juni 2003 - 12:49 #6
du kan se http://hjem.get2net.dk/mydesign/DBI/bre.htm ... tag kilden på det, og stjæl hvad der skal stjæles, hvis der er noget der kan bruges...?!
Avatar billede ahrensberg Nybegynder
10. juni 2003 - 17:19 #7
Problemet er at jeg har en kommando som hedder <IMG SRC="billedet.jpg">, men billedet.jpg er ikke det samme hele tiden og er en gang imellem længst i breden og en gang imellem længst i højden, men mit billede må max have en højde på 300 pixel og max have en bredde på 100 pixel. Hvordan klarer jeg den?

Så vidt jeg kan læse af JavaScriptet vil billedet altid have den samme bredde nemlig bredden af skærmen - 300 pixel, men hva' så hvis billedet har en stor højde, så vil dette jo flyde ud over toppen og bunden, ik'?
Avatar billede ferdinand.k Mester
10. juni 2003 - 17:50 #8
der skulle gerne være en "autosize" funktion... jeg lurer lige igen efter aftensmaden...
Avatar billede jonbdk Nybegynder
10. juni 2003 - 18:40 #9
Hvis du bruger min kommentar 10:56:59 skal du jo bare have en condition til som tjekker højden - og ser at den ikke oveskrides, ellers bliver det den bærende condition som afgør at billedet ikke bliver større end maxhøjde
Avatar billede ahrensberg Nybegynder
10. juni 2003 - 21:51 #10
Jonbdk:>

Hvordan bruger jeg scriptet?

F.eks.:

<SCRIPT LANGUAGE="JavaScript">

  myimage=new Image();
  myimage.src="billede.jpg";
  imgWidth = eval(myimage).width;
  maxWidth = screen.width - 300;

  IF imgWidth > maxWidth THEN
      document.write("<img src="billede.gif" width=maxwidth>")
  ELSE
      document.write("<img src="billede.gif">")
  END IF

</SCRIPT>

Eller hvordan?
Avatar billede roenving Novice
11. juni 2003 - 01:35 #11
Bare til syntaksen ...
<SCRIPT LANGUAGE="JavaScript">

  myimage=new Image();
  myimage.src="billede.jpg";
  imgWidth = eval(myimage).width;
  maxWidth = screen.width - 300;

  if (imgWidth > maxWidth){
      document.write("<img src='billede.gif' width=maxwidth>")
  }else{
      document.write("<img src='billede.gif'>")
  }

</SCRIPT>
Avatar billede ahrensberg Nybegynder
12. juni 2003 - 21:25 #12
Tak for svar Jonbdk (og kommentar Roenving). Det er ikke helt det jeg vil bruge, men inspirationen er helt perfekt. Smider scriptet op, når jeg har lavet det færdigt!
Avatar billede ahrensberg Nybegynder
13. juni 2003 - 17:39 #13
SÅ:

<SCRIPT LANGUAGE="JavaScript">

//----- Script made by Kenneth Ahrensberg (kenneth@hrensberg.dk)

//----- Defining variables

  var imagefile = "billede.jpg";
  var maxHeight = "280";
  var maxWidth = "150";

//----- Script

  myimage=new Image();
  myimage.src= imagefile;

  var imgHeight = eval(myimage).height;
  var heightValue = (imgHeight / maxHeight);

  var imgWidth = eval(myimage).width;
  var widthValue = (imgWidth / maxWidth);

  if (heightValue > widthValue){

      if (imgHeight > maxHeight){

        document.write("<img src='");
        document.write(imagefile);
        document.write("' height='");
        document.write(maxHeight);
        document.write("'>");

      } else {

        document.write("<img src='");
        document.write(imagefile);
        document.write("'>");

      }

  }

  if (widthValue > heightValue){

      if (imgWidth > maxWidth){

        document.write("<img src='");
        document.write(imagefile);
        document.write("' width='");
        document.write(maxWidth);
        document.write("'>");

      }  else {

        document.write("<img src='");
        document.write(imagefile);
        document.write("'>");

      }

  }

</SCRIPT>

Er det ikke okay lavet af en ikke helt ekspert? Hehe... :o)
Avatar billede jonbdk Nybegynder
13. juni 2003 - 19:56 #14
lol - jeg påstår ABSOLUT heller ikke jeg er ekspert :-)
Men jo, det ser meget fornuftigt ud
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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