Avatar billede sixer Nybegynder
27. oktober 2003 - 18:10 Der er 1 kommentar og
1 løsning

ASPImage, teksten i midten, forskellige længder tekst

Hej

Jeg har lavet sådan at man kan sætte tekst på et billed.
Jeg har så lavet en menu hvor menu punkterne løber gennem en loop.

Koden:
<%
Set menu = Conn.Execute("Select * From menu where sprog = '"& session("sprog") &"' order by nr asc")
Set koorinatx = Conn.Execute("Select * From config where enhed = 'menukanpX'")
Set koorinaty = Conn.Execute("Select * From config where enhed = 'menukanpY'")

StrX = koorinatX("funktion") 'F.eks. 60
StrY = koorinatY("funktion") 'f.eks. 40

Do Until menu.EOF

  Set Image = Server.CreateObject("AspImage.Image")

  Image.AutoSize = false

  Image.LoadImage server.mappath("images/menukanp.jpg")
 
  'Image.Bold = True
  Image.FontSize = 10
  Image.FontName = "Verdana, Arial, Helvetica, sans-serif"

  StrTekst = menu("menu")
   
  intX1 = StrX
  intY1 = StrY
  intX2 = intX1 + 10
  intY2 = intY1 + 10
 
  Image.TextOut StrTekst,intX1+10, intY1-5, false
 
  Image.FileName = server.mappath("images/menukanp"& menu("id") &".jpg")
  Image.SaveImage
%>
<a href="sider.asp?id=<%=menu("id")%>" target="sider">
<img src="images/menukanp<%=menu("id")%>.jpg" border="0">
</a><br>
<%
Set Image = nothing

menu.MoveNext
Loop
%>



Der er bare det problem at teksterne ikke er lige lange, så det jeg vil vide er om man kan få teksten til at stå lige i midten.



På forhånd tak

/Sixer
Avatar billede hiks Nybegynder
27. oktober 2003 - 22:52 #1
Aloooooo

efter du har lavet din StrTekst kan du lave en:

tekstbredde = Image.TextWidth(StrTekst) 'bredden ifg. skrifttype osv.

som du så kan blive ved med at genbruge for hvert gennemløb af et menupunkt og udfra maxbredden på teksten vil du så kunne dividere maxbredden på billedet med 2 så har du bredden og siden fordelen tekstens bredde med to og trække fra billedets bredde delt med to og så har du der hvor du skal starte med at skrive din tekst som x-værdi.

bemærk dette virker kun hvis du har en fast størrelse på dine images.

find først bredden på billedet vha. Image.MaxX og så ellers prøv det andet.

/hiks
Avatar billede sixer Nybegynder
30. oktober 2003 - 20:22 #2
Mange tak for hjælpen og sorry jeg først svarer nu, men har ikke fået nogen mail fra E, om at der er blevet svaret på mit spm.
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