31. august 2004 - 10:13Der er
34 kommentarer og 2 løsninger
hvad gør jeg galt?
nedenstående kode burde virker, så jeg kan skrive en tekst på et billede, men jeg kan kun se billedet.
<% rem ********************************************************************** rem * Instantiate the object rem ********************************************************************** Set Image = Server.CreateObject("AspImage.Image")
rem ********************************************************************** rem * Set various font parameters rem ********************************************************************** Image.FontColor = vbWhite Image.Italic = False Image.Bold = True Image.FontName = "Arial" Image.FontSize = 12 Image.PadSize = 4 Image.TextAlign = 6
rem ********************************************************************** rem * Calculate the size of the text info is and set the image to this size rem * (this has to be done since we want to fill the area with a gradient) rem * This demonstrates a multi-line text string rem ********************************************************************** strMessage = "The Widget Factory" & vbCrLf & "123 Park Avenue" & _ VbCrLf & "Anytown, USA 012345"
rem ********************************************************************** rem * Create a one way gradient that starts with Red and ends with White rem ********************************************************************** Image.GradientOneWay vbWhite, vbBlue, 0
rem ********************************************************************** rem * Print our text to the image at the current X,Y position using 3D rem ********************************************************************** Image.TextOut strMessage, Image.MaxX / 2 - Image.PadSize, Image.Y, true
rem ********************************************************************** rem * Set the filename and save rem * NOTE: You should gen the filename dynamically for multiuser usage rem ********************************************************************** Image.FileName = "d:\inetpub\wwwroot\images\txtz2.JPG" Image.SaveImage
rem ********************************************************************** rem * Write the <img src> tag out for the browser to pick up rem ********************************************************************** Response.Write "<img src=""/images/txtz2.jpg""><br>"
rem ********************************************************************** rem * These properties give eval/registration information for the component rem ********************************************************************** Response.Write "<p>Expires: " & Image.Expires Response.Write "<br>Version: " & Image.Version Response.Write "<br>Registered To: " & Image.RegisteredTo
Set Image = nothing
%>
hvad er der galt? jeg har kaldt filen imagetekst.asp.
Nu har jeg aldrig prøvet AspImage, men derimod persists.
Jeg kan ikke helt hitte ud af, om du overhovedet åbner billedet. Jeg kan se, at du gemmer det, men hvor kommer billedet fra, som skal overskrives? Mangler du ikke denne del?
Har du desuden kontrolleret, at den version, der ligger på serveren er den der er nødvendig for, at kunne overskrive et billede?
Får du dit gemte billede frem i din browser? I så fald burde det være en smal sag at tilføje tekst til dit billede. Når du har svaret på mit spørgsmål, kan jeg hjælpe dig videre. Husk at tjekke om dine stier er korrekte...
Jeg bliver desværre nød til at lukke spørgsmålet, da ovenstående kode var et skud i blinde, og løsningen er fundet på deres egen hjemmeside, jeg havde kastet mig over den forkerte version, den nye kan alt hvad jeg ønsker.
(Image.FontColor = vbWhite) til (Image.FontColor = farver) men resultatet bliver en gang pludder... nemmelig - 16777215 (der skulle gerne stå vbBlack eller vbBlue.. osv
hvad betyder - 16777215 og hvad er grunden til at den ikke skriver vbBlack
Hvad er din form method og form action? <form method="get/post???" action="???.asp">
Er du sikker på, at du ikke får 16777215 ved hvid og ikke ved sort? Alternativt kan du angive dine farver i RGB-format. RGB(&h##, &h##, &h##), hvor ## er hexadecimaler for styrken af hver af de tre farver.
Jeg er på igen i aften, hvis du ikke har fået det til at virke. Hvis (Når!!!) du får det til at virke, vil jeg meget gerne se koden, hvor du foretager farvevalg. Jeg skal nemlig lave noget lignende i næste uge. Lige nu vælger man farve på den forrige side i det, jeg har lavet.
placeret i samme rækkefølge på siden, <% Response.Write farver %> viser at "farver" indenholder teksten vbBlack, vbWhite, vbBlue, naturlgvis afhængig af hvilken knap jeg har trykket på (""GG""
altså har "farver" fået ønsket indhold og det eneste problem er at den ikke sender det videre til Image.FontColor = farver
Jeg er ked af, at jeg ikke kan hjælpe dig over målstregen. Jeg er ikke en haj til VB-syntaks. Skal der ikke være apostroffer omkring tekststrenge? Prøv evt. at spørge fennec eller eagleeye... Om ikke andet kigger jeg på det i morgen (og løser det)!
hvilken farve har du valgt? du skal lige være opmærksom på if sætningen er vbwhite ikke lig vbWhite, så det en god ide med lcase omkring dem: if lcase(request.form("farve")) = "vbwhite" then farver = vbWhite
Hvis du skriver: Image.FontColor = vbBlack
får du så fejl
Prøv også at skrive: Response.Write server.htmlencode(vbBlack) og se hvad de skriver?
ok så vi tiltabge ved if sætningerne, endnu engang vil jeg lige nævne "vbwrite" er ikke lig "vbWrite" så lave dem sådan her:
if lcase(request.form("farve")) = "vbblack" then farver = vbBlack if lcase(request.form("farve")) = "vbwhite" then farver = vbWhite if lcase(request.form("farve")) = "vbblue" then farver = vbblue
og du har en form tag med method="post" du kan evt prøve at udskriver: response.write request.Form("farve") og de den udskriver den valgte farve.
if lcase(request.form("farve")) = "vbblack" then farver = vbBlack if lcase(request.form("farve")) = "vbwhite" then farver = vbWhite if lcase(request.form("farve")) = "vbblue" then farver = vbblue
får jeg følgende fejl,
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'Image.FontColor'
/linkzonen/MODIMG2.ASP, line 106
Image.FontColor = farver - 106
når jeg vælger sort, får jeg følgende
response.write request.Form("farve") = 0 .. (altså kun 0)
Du er simpelthen for sej eagleeye, endnu engang kommer du med guldkornet.. det undre mig bare.. jeg mente ellers at jeg havde prøvet den version.. den ligger jo ligefor.. hmm.. ligegyldigt.. det virker.. og det er det vigtige :-)
men når jeg trykker på eksempelvis blue (jeps nu er blue tilføjet igen...) og trykker på formknappen så det hele opdatere, så hoppper min dropdownmenu tilbage til hvid ... billedeteksten bliver blå.. men er der ikke en måde at beholde den dropdown så der står navnet på den valgte farve???
det er jo lidt irreterende hvis man har en menu med 256 farver at man skal rulle ned i bunden hele tiden...
men eagleeye.. points er dine.. sender dem din vej så snart du har afgivet et svar som jeg kan betale.. ;-)
For at vælge den som er valgt skal man havde sat selected ind i <option> tagen:
<option value="<%=vbwhite%>" <% if Request.Form("farve")=vbWrite then Response.write " selected " %>>hvid</option>
Så man kunne ligge farven i en variabel:
<% farve=Request.Form("farve") %>
Så bliver det lidt korter men ikke meget :) <option value="<%=vbwhite%>" <% if farve=vbWrite then Response.write " selected " %>>hvid</option> <option value="<%=vbblack%>" <% if farve=vbWrite then Response.write " selected " %>>Sort</option>
så er batalingen overført.. du skulle modtage det .... nu!
Men hvad nu hvis jeg ville lave det med radioknapper stedet for dropdownmenu??? sad lige og kiggede på det.. det ville jo være nemmere med radioknapper.. undskyld min uendedelige mængde spørgsmål.... :o)
Radio kanpper giver samme problem der skal man på samme måde sætte hvilken som er valgt. Den som er valgt skal så havde " checked " på.
Synes godt om
Ny brugerNybegynder
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.