Avatar billede hnteknik Novice
13. februar 2002 - 11:50 Der er 9 kommentarer og
1 løsning

ASPImage giver mig grå hår

Dette script giver mig grå hår. Den resizer fint men viser kun de binære data. det er som om den ikke vil forstå Response.ContentType = "image/jpeg". Jeg har et andet script som tegner en lagkage baseret på /gif uden nogen problemer. Er det mig eller A0.dk, der er gal på den???:

Henrik

-----
<%
            Set Image = Server.CreateObject("AspImage.Image")

            Image.LoadImage "d:\home\xxx\www\blaabog\3_real\" & "pederpan.jpg"
            Response.Write "<p><b>Billedet var : </b>" & Image.MaxX & "x" & Image.MaxY & ".</p>"
           
            intRatio = ((75 * 100) / Image.MaxX)
            intNewY = CInt(Image.MaxY * (intRatio / 100))
            Image.ResizeR 75, intNewY
            Image.ImageFormat = 1
           
            Response.ContentType = "image/jpeg"
            Response.BinaryWrite Image.Image
            Response.Write "<p><b>Billedet er  nu kun: </b>" & Image.MaxX & "x" & Image.MaxY & ".</p>"
            Set Image = nothing   
   
%>
Avatar billede freedom Nybegynder
13. februar 2002 - 12:01 #1
hvad skulle det gøre??
Avatar billede hnteknik Novice
13. februar 2002 - 12:06 #2
Ja, det er kun et test script for at få lortet til at virke
- det henter billedet - aflæser og udskriver original str. ( intet problem) - resize billedet - vise det resizede billede ( viser kun binære data) og sluttelig bare vise den nye resizede størrelse ( virker).

i.e - det skulle gerne lave en thumbnail af et jpg billede.

Henrik
Avatar billede hnteknik Novice
13. februar 2002 - 12:16 #3
Billedet som i test skal resizes ligger her:

http://www.web4it.dk/blaabog/3_real/isbjerg.jpg

og koden ligger her:

http://www.web4it.dk/blaabog/test2.asp

hvad fanden er galt - selv uden resize, kommer der ikke andet end binære data ??

Henrik
Avatar billede goose Nybegynder
13. februar 2002 - 16:39 #4
Prøv og fjern denne linie:
Response.ContentType = "image/jpeg"

Hvis det heller ikke virker så sig lige til.

/Goose
Avatar billede hnteknik Novice
14. februar 2002 - 11:22 #5
Hej Goose - har prøvet og prøver det nu igen. Samme resultat. Check selv for oven. Flere grå hår - koden er nu so følger:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<%
            Set Image = Server.CreateObject("AspImage.Image")

            Image.LoadImage "d:\home\web4itdk\www\blaabog\3_real\" & "Isbjerg.jpg"
            Response.Write "<p><b>Billedet var : </b>" & Image.MaxX & "x" & Image.MaxY & ".</p>"
           
            intRatio = ((75 * 100) / Image.MaxX)
            intNewY = CInt(Image.MaxY * (intRatio / 100))
            Image.ResizeR 75, intNewY
            Image.ImageFormat = 1
           
           
            Response.BinaryWrite Image.Image
            Response.Write "<p><b>Billedet er  nu kun: </b>" & Image.MaxX & "x" & Image.MaxY & ".</p>"
            Set Image = nothing   
   
%>
</body>
</html>
Avatar billede goose Nybegynder
14. februar 2002 - 12:22 #6
Denne ker virker både ved A0.dk og scannet:

<%
'*** get width/height of original image
Set objImg = Server.CreateObject("AspImage.Image")
objImg.LoadImage "d:\xxx\xxx\xxx\pic\" & request.querystring("FileName")
ImageHeight = objImg.MaxY
ImageWidth = objImg.MaxX
size = Cint(request.querystring("size"))

if ImageHeight < size then
Set Image = Server.CreateObject("AspImage.Image")
Image.LoadImage "d:\www\www\www\pic\" & request.querystring("FileName")
Image.ImageFormat = 1
Image.JPEGQuality = 80
Response.BinaryWrite Image.Image
Set Image = Nothing
Set objImg = Nothing
end if

NewHeight = Cint(ImageHeight*size/ImageWidth)
NewWidth = size
Set objImg = Nothing
Set Image = Server.CreateObject("AspImage.Image")
Image.LoadImage "d:\xxx\xxx\xxx\pic\" & request.querystring("FileName")
Image.ImageFormat = 1
Image.JPEGQuality = 80
Image.ResizeR NewWidth,NewHeight
Response.BinaryWrite Image.Image
Set Image = Nothing
%>

- så må du selv forsøge dig frem

/Goose
Avatar billede goose Nybegynder
14. februar 2002 - 12:24 #7
Jeg bruger ovenstående i forbindelse med fremstilling af thumbnails, og jeg har så bredde med i requesten, altså size=250 f.eks.

/Goose
Avatar billede hnteknik Novice
14. februar 2002 - 16:31 #8
Hi Goose - jg ved f... ikke hvad der kører løs her. Nu virker det, men hvor er forskellen ???? forresteb er size ikke et reserveret ord ??? Tak anyway Goose.

Henrik

http://www.web4it.dk/blaabog/thumbnail1.asp

med følgende kode:

<%
FileName= "Isbjerg.jpg"
size= 250
'*** get width/height of original image
Set objImg = Server.CreateObject("AspImage.Image")
objImg.LoadImage "d:\home\web4itdk\www\blaabog\3_real\" & FileName
ImageHeight = objImg.MaxY
ImageWidth = objImg.MaxX


if ImageHeight < size then
Set Image = Server.CreateObject("AspImage.Image")
Image.LoadImage "d:\home\web4itdk\www\blaabog\3_real\" & FileName
Image.ImageFormat = 1
Image.JPEGQuality = 80
Response.BinaryWrite Image.Image
Set Image = Nothing
Set objImg = Nothing
end if

NewHeight = Cint(ImageHeight*size/ImageWidth)
NewWidth = size
Set objImg = Nothing
Set Image = Server.CreateObject("AspImage.Image")
Image.LoadImage "d:\home\web4itdk\www\blaabog\3_real\" & FileName
Image.ImageFormat = 1
Image.JPEGQuality = 80
Image.ResizeR NewWidth,NewHeight
Response.BinaryWrite Image.Image
Set Image = Nothing
%>
Avatar billede hnteknik Novice
14. februar 2002 - 20:32 #9
Goose - jeg har skevet lidt om på din kode, som udfører det samme:

<%
    FileName= "Isbjerg.jpg"
    size= 250
    '*** get width/height of original image
    Set objImg = Server.CreateObject("AspImage.Image")
    objImg.LoadImage "d:\home\web4itdk\www\blaabog\3_real\" & FileName
    ImageHeight = objImg.MaxY
    ImageWidth = objImg.MaxX
    Set objImg = Nothing
    Set Image = Server.CreateObject("AspImage.Image")
    Image.LoadImage "d:\home\web4itdk\www\blaabog\3_real\" & FileName
    Image.ImageFormat = 1
    Image.JPEGQuality = 80
   
if ImageHeight > size then
    NewHeight = Cint(ImageHeight*size/ImageWidth)
    NewWidth = size
    Image.ResizeR NewWidth,NewHeight
end if
    Response.BinaryWrite Image.Image
    Set Image = Nothing
%>

tilsyneladende er skal objektet kaldes to gange for at kunne virke ???

Henrik
Avatar billede hnteknik Novice
14. februar 2002 - 21:57 #10
Sorry Goose et al. Jeg er ikke helt færdig med det object endnu. Det virker tilsyneladende kun, når der kun sendes netop dette grafik ud. Er der tekst eller andet foran dur det ikke mere.

Man skal kalde det hele fra en anden page http://www.web4it.dk/blaabog/thumbtest.asp - jeg store fjols:

<div align="center"><a href="3_real/Isbjerg.jpg"><img src='thumbnail.asp?FileName=Isbjerg.jpg&size=200' alt='miniature billede 2'  border="0" ></a></div>

Altså intet andet end det binære output i filen thumbnail.asp, som kom til at se sådan ud:
---- thumbnail.asp
<% FileName=request.querystring("FileName")

size=Cint(request.querystring("size")) %>

   
<%
    Response.ContentType = "image/jpeg"
    '*** get width/height of original image
    Set Image = Server.CreateObject("AspImage.Image")
    Image.LoadImage "d:\home\web4itdk\www\blaabog\3_real\" & FileName
    ImageHeight = Image.MaxY
    ImageWidth = Image.MaxX
   
    Image.ImageFormat = 1
    Image.JPEGQuality = 80
   
if ImageHeight > size then
    NewHeight = Cint(ImageHeight*size/ImageWidth)
    NewWidth = size
    Image.ResizeR NewWidth,NewHeight
end if
    Response.BinaryWrite Image.Image
    Set Image = Nothing

%>

Slut og tak for denne gang - Henrik
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