Avatar billede kelvin Nybegynder
05. september 2006 - 18:18 Der er 9 kommentarer

Billedviser med "næste" og "forrige"

Hej Eksperter!


Jeg har gjort det sådan at når jeg har lagt billeder ind på min side, vises de i en lille udgave, altså komprimeret fra den rigtige størrelse, for det går hurtigere at få vist. Og når man trykker på dem bliver de vist i den størrelse jeg har sat dem til. ex. <img width='800' src="<%= imageurl%>">. Men problemet er nu, at når billederne rigtigt er større end 800 i bredten bliver billederne dårlig kvalitet når de vises. Men når man gemmer, eller anvender som baggrund, har de den rigtige størrelse, og der er ikke pixels fejl. Jeg er lidt i tvivl hvad problemet skyldes.

Mit spørgsmål lyder derfor: Kan det lade sig gøre at tilføje noget til koden, så billederne når man trykker på dem, bliver vist med samme størrelse, men stadig ikke indeholder pixels fejl? Og der tilføjes en funktion der hedder "Forrige og Næste"

Nedenunder kan i se koden.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Billede fremvisning</title>
</head>
<body>
<%
imageurl = request.queryString("url")
id = request.QueryString("id")

sql = "SELECT views FROM image WHERE id=" & id
Set viewsRs = Conn.Execute(sql)

presentViews = ""
if NOT viewsRS.EOF then
    presentViews = viewsRS("views")
else
    presentViews = 0
end if

if IsNumeric(presentViews) then
      presentViews = presentViews + 1
else
        presentViews = 1
end if

sql = "UPDATE image set views=" & presentViews & " WHERE id=" & id
'Response.write sql
Conn.Execute(sql)
%>
<img width='800' src="<%= imageurl%>">
</body>
</html>
Avatar billede madeindk Nybegynder
05. september 2006 - 19:20 #1
1) Lad os starte med dine pixels fejl...

Når jeg skal vise et billede i min størelse plejer jeg altid kun at sætte højden fx. <img src="<%= imageurl %>" style="height:600px; width:auto;">

2) Forrige og næste billede

Forrige billede:

<%
SQL = SELECT TOP 1 * FROM image WHERE id < " & id
Set prevRs = Conn.Execute(SQL)

if not prevRs.eof then
  prevId = prevRs("id")
else
  prevId = ""
end if

If prevId <> ""
  response.write("<a href=""?ID="" & prevId & """>Forrige billede</a>")
Else
  response.write("Forige billede")
End if
%>

Næste billede:

<%
SQL = SELECT TOP 1 * FROM image WHERE id > " & id
Set nextRs = Conn.Execute(SQL)

if not nextRs.eof then
  nextId = nextRs("id")
else
  nextId = ""
end if

If nextId <> ""
  response.write("<a href=""?ID="" & nextId & """>Næste billede</a>")
Else
  response.write("Næste billede")
End if
%>
Avatar billede kelvin Nybegynder
05. september 2006 - 20:04 #2
når jeg sætter denne her:
<img src="<%= imageurl %>" style="height:600px; width:auto;">
ind istedet for:
<img width='800' src="<%= imageurl%>">

Det du ville have jeg skulle gøre?

Bliver billedet mast sammen? Kan man ikke indstille det sådan at når man trykker kommer der den samme størrelse op, ligesom når man ser billeder på computeren. og trykker videre..?
Avatar billede kelvin Nybegynder
05. september 2006 - 20:08 #3
Og med koden du sendte mig ang. forrige og næste, skal jeg indsætte det du har skrevet, i stedet for mit?
Avatar billede madeindk Nybegynder
05. september 2006 - 20:39 #4
Så bare skriv: <img src="<%= imageurl %>" height="600">

Du skal indsætte flg. i toppen:

<%
SQL = "SELECT TOP 1 * FROM image WHERE id > " & id
Set nextRs = Conn.Execute(SQL)

if not nextRs.eof then
  nextId = nextRs("id")
else
  nextId = ""
end if

SQL = SELECT TOP 1 * FROM image WHERE id > " & id
Set nextRs = Conn.Execute(SQL)

if not nextRs.eof then
  nextId = nextRs("id")
else
  nextId = ""
end if
%>

Og følgende hvor du vil ha linksne til forrige og næste billede:

<%
' Forrige billede
If prevId <> ""
  response.write("<a href=""?ID="" & prevId & """>Forrige billede</a>")
Else
  response.write("Forige billede")
End if

' Næste billede
If nextId <> ""
  response.write("<a href=""?ID="" & nextId & """>Næste billede</a>")
Else
  response.write("Næste billede")
End if
%>
Avatar billede madeindk Nybegynder
05. september 2006 - 20:44 #5
RETTELSE - Du skal indsætte flg. i toppen:

<%
SQL = "SELECT TOP 1 * FROM image WHERE id < " & id & " ORDER BY ID DESC "
Set prevRs = Conn.Execute(SQL)

if not prevRs.eof then
  prevId = prevRs("id")
else
  prevId = ""
end if

SQL = "SELECT TOP 1 * FROM image WHERE id > " & id
Set nextRs = Conn.Execute(SQL)

if not nextRs.eof then
  nextId = nextRs("id")
else
  nextId = ""
end if
%>

Og følgende hvor du vil ha linksne til forrige og næste billede:

<%
' Forrige billede
If prevId <> ""
  response.write("<a href=""?ID="" & prevId & """>Forrige billede</a>")
Else
  response.write("Forige billede")
End if

' Næste billede
If nextId <> ""
  response.write("<a href=""?ID="" & nextId & """>Næste billede</a>")
Else
  response.write("Næste billede")
End if
%>
Avatar billede kelvin Nybegynder
05. september 2006 - 21:38 #6
<img src="<%= imageurl %>" height="600"> problemet er stadig det samme. du kan fx gå ind og se http://komtilpappa.dk/galaryShowPicture.asp?url=filer\shows\\Staelog_1_2_3_4_5\Billede%20093.jpg&id=650 .. Her kan du se at problemet er det samme, den viser billedet med height "600", MEN se kvaliteten. Og hvis du gemmer den, eller anvender som baggrund, vil billedet være en helt anden kvalitet.

Kan du se det?
Avatar billede kelvin Nybegynder
05. september 2006 - 21:38 #7
linket blev vidst lidt galt, prøv at kopier det..
Avatar billede madeindk Nybegynder
05. september 2006 - 22:44 #8
Det er da stjerne klart det bliver pixeleret når billedet er mindre end den størrelse du forsøger at vise det i. Dimensionerne på dette billede: http://komtilpappa.dk/filer/shows//Staelog_1_2_3_4_5/Billede%20093.jpg er 640 x 480, så kan du jo ikke sætte højden til 600, når billedet kun er 480 :-)

Har du fået forrige og næste billede til at virke?
Avatar billede kelvin Nybegynder
28. november 2010 - 00:00 #9
kan en af jer skrive et svar, så jeg kan give nogle point? (har ikke brugt siden i 4 år nu.
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

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