webForumDet fria alternativet

Ändra bild storlek ?

ASPur ASP

7 svar · 537 visningar · startad av _2ejon

Medlem sedan jan. 200798 inlägg
Frågan#1

Hej jag tänkte göra ett bild arkiv där man ska kunna se små minniatyrer av varje bild och när man trycker på en av bilderna ska man komma till det id;t.

Nu till frågan, går det att skala om bilderna så dom blir mindre? Eller hämta dom och ändra "width" till 40px tex.. Dom ligger sparade i min access databas som html tagar så här:
<img width="722" height="481" src="/UserFiles/Image/Bilder/IMG_3165.jpg" alt=""/>

Går det eller måste jag spara alla bilder 2ggr och i två olika storleksformat ?

Medlem sedan juni 20019 519 inlägg
#2

Inte med vanlig ASP. Men det finns komponenter som gör detta. Beror lite på ditt webbhotell (de flesta har något stöd med detta idag). Kolla upp det med din leverantör :)

Medlem sedan jan. 200798 inlägg
#3

så de går inte ta replace width på något sätt ?

Medlem sedan juni 20019 519 inlägg
#4

replace width?

Du kan formatera om utskriften ja. men bilden är fortfarande lika stor(i storlek på disk).
men replace så att den bara bli mindre visst det går:

Function NewLink(textFromDb,width,height)
  Dim myRegExp
  Set myRegExp = New RegExp
  myRegExp.Global = True
  myRegExp.Pattern = "(\<img width\=\"")\d+(\"" height\=\"")\d+(\"" src\=\""[^\""]+\"" alt\=\""\""\/\>)"
  NewLink = myRegExp.Replace(textFromDb, "$1" & width & "$2" & height & "$3")
End Function
Medlem sedan jan. 200798 inlägg
#5

Okey men jag förstår inte redigt hur jag ska sätta in koden /nybörjare på asp

Ska man bara lägga in den så eller ?

<%
Dim rs Weblog
%>
<html>
<body>

			<%
			While NOT rsArchive.EOF
			set rsWeblog = ObjConn.execute("SELECT * FROM weblog ORDER BY date DESC")
			v_weblog = rsWeblog("weblog")
			%>

 					Function NewLink(textFromDb,width,height)
  						Dim myRegExp
  						Set myRegExp = New RegExp
  						myRegExp.Global = True
  						myRegExp.Pattern = "(\<img width\=\"")\d+(\"" height\=\"")\d+(\"" src\=\""[^\""]+\"" alt\=\""\""\/\>)"
  						NewLink = myRegExp.Replace(textFromDb, "$1" & width & "$2" & height & "$3")
					End Function
					<%=v_weblog%>

					
				
			<%
			rsArchive.MoveNext
			Wend
			rsArchive.Close 
			Set rsArchive = Nothing
			%>
</body>
</html>
<%
Call CloseDatabase
%>

<img width="722" height="481" src="/UserFiles/Image/Bilder/IMG_3165.jpg" alt=""/>
hämtar jag med weblog, ifrån access databasen

Medlem sedan okt. 2004392 inlägg
#6

Det kommer ta lång tid att ladda sidan om du har flera bilder som laddas ned i full storlek. (om du ändrar på width så betyder det inte att bilden kommer bli mindre i hårddisken)

Jag tipsar på att du inte gör detta. Läs lite om thumbs, sök i detta forum, få en idé om det hela, fastnar du på något, skicka den kod du fastna på här och så hjälper vi dig.

Medlem sedan jan. 200798 inlägg
#7

okey ska göra det istället :)

Medlem sedan juni 20019 519 inlägg
#8
<%
Dim rs,v_weblog 
%>
<html>
<body>
<%
' En funktion vi kan inte ha en funktion inne i en loop då kommer det bli fel
' ASP kan bara ha 1 funktion per sida (med samma namn dvs)
' Så flytta ut den ur loopen
Function NewLink(textFromDb,width,height)
	Dim myRegExp
	Set myRegExp = New RegExp
  	myRegExp.Global = True
  	myRegExp.Pattern = "(\<img width\=\"")\d+(\"" height\=\"")\d+(\"" src\=\""[^\""]+\"" alt\=\""\""\/\>)"
  	NewLink = myRegExp.Replace(textFromDb, "$1" & width & "$2" & height & "$3")
End Function

While NOT rsArchive.EOF
	set rsWeblog = ObjConn.execute("SELECT * FROM weblog ORDER BY date DESC")
	v_weblog = rsWeblog("weblog")
	'Här kallar vi på funktionen, med höjd 20 och with 20 - Fortfarande bilden
	'är lika stor på disk fortfarande och kommer ta lika lång tid att ladda ner
	Response.Wirte NewLink(v_weblog,20,20)
	rsArchive.MoveNext
Wend
rsArchive.Close 
Set rsArchive = Nothing
%>
</body>

Lite info om hur man använder en funktion...

136 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)