Avatar billede johannielsen Nybegynder
10. juni 2002 - 17:55 Der er 16 kommentarer og
2 løsninger

Gratis "ændre-størrelse-på-billede" script???

Findes et sådan??? - hvis ja, hvor?
Avatar billede soes Nybegynder
10. juni 2002 - 18:04 #1
http://activedeveloper.dk/komponenter/default.asp?mode=komponent&id=138

muligvis her.
jeg har ikke selv prøvet efter, så jeg gir ingen garnti for resultatet :o)

/Søren Søndergård
Avatar billede medions Nybegynder
10. juni 2002 - 18:06 #2
Set ImageObj = ServerCreateObject("ASP.IMAGE")
ImageObj .FileName = "fil.jpg"    'Evt fra request.Form/querystring
ImageObj.Resize (340, 255)      ' intWidth, intHeight
ImageObj.Save

//>Rune
Avatar billede eagleeye Praktikant
10. juni 2002 - 18:10 #3
du kan gøre det med en kompunent som hedder ImgSize:

<%
Set objImg = Server.CreateObject("ImgSize.Check")
objImg.FileName = "fil.jpg"
Response.Write "Billedhøjde i pixels = " & objImg.Height & "<br>"
Response.Write "Billedbredde i pixels = " & objImg.Width
Set objImg = nothing
%>

Det kan også gøres uden brug af andre komponenter end FileSystemObject:
http://www.4guysfromrolla.com/webtech/code/imgsz.asp.html
Avatar billede johannielsen Nybegynder
10. juni 2002 - 19:44 #4
->medions

Skal man bruge et komponent til dit?

Jeg vil helst gøre det uden komponent.
Avatar billede medions Nybegynder
10. juni 2002 - 20:14 #5
Ja, du skal bruge komponenten ASP.image

//>Rune
Avatar billede johannielsen Nybegynder
10. juni 2002 - 21:05 #6
Ok.
Avatar billede johannielsen Nybegynder
10. juni 2002 - 21:06 #7
->eagleeye

Har du selv afprøvet det til FileSystemObject??
Avatar billede eagleeye Praktikant
10. juni 2002 - 22:04 #8
Jeps jeg har også lige lagt det her for test, øverst linie er copy/paste af det eks jeg har linket til dog rette en if sætning så den både tager GIF samt JPG filer. Den anden linie er med ASPImage som jeg har adgang til via mit web-hotel:
http://www.eagleeye.dk/eks/spm222706.asp
Avatar billede eagleeye Praktikant
10. juni 2002 - 22:05 #9
men den virker så kun med nogle få fil typer..: BMP, GIF, JPG og PNG
Avatar billede johannielsen Nybegynder
10. juni 2002 - 22:16 #10
JPG alene ville have været fint - så 4 typer er jo nærmest overvældende! :-)

Jeg melder nok tilbage om et par dage, da jeg læser til eksamen.
Avatar billede eagleeye Praktikant
10. juni 2002 - 22:27 #11
ok...I det eks med FSO har jeg rette dene linie:
  if instr(ucase(f1.Name), ".GIF") then

Til:
  if instr(ucase(f1.Name), ".GIF") OR instr(ucase(f1.Name), ".JPG") then
Avatar billede steen_hansen Forsker
11. juni 2002 - 00:16 #12
eagleeye, jeg prøvede scriptet og fik denne fejl:

Siden kan ikke vises ...

Hvordan skal en hel side se ud? Jeg er temmelig ny til ASP
Avatar billede eagleeye Praktikant
11. juni 2002 - 19:42 #13
<html>
<head>
<title></title>
</head>
<body>

<%
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::                                                            :::
  ':::  This routine will attempt to identify any filespec passed  :::
  ':::  as a graphic file (regardless of the extension). This will :::
  ':::  work with BMP, GIF, JPG and PNG files.                    :::
  ':::                                                            :::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::          Based on ideas presented by David Crowell          :::
  ':::                  (credit where due)                        :::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  '::: blah blah blah blah blah blah blah blah blah blah blah blah :::
  '::: blah blah blah blah blah blah blah blah blah blah blah blah :::
  '::: blah blah    Copyright *c* MM,  Mike Shaffer    blah blah :::
  '::: blah blah      ALL RIGHTS RESERVED WORLDWIDE      blah blah :::
  '::: blah blah  Permission is granted to use this code blah blah :::
  '::: blah blah  in your projects, as long as this    blah blah :::
  '::: blah blah      copyright notice is included      blah blah :::
  '::: blah blah blah blah blah blah blah blah blah blah blah blah :::
  '::: blah blah blah blah blah blah blah blah blah blah blah blah :::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::                                                            :::
  ':::  This function gets a specified number of bytes from any    :::
  ':::  file, starting at the offset (base 1)                      :::
  ':::                                                            :::
  ':::  Passed:                                                    :::
  ':::      flnm        => Filespec of file to read              :::
  ':::      offset      => Offset at which to start reading      :::
  ':::      bytes      => How many bytes to read                :::
  ':::                                                            :::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  function GetBytes(flnm, offset, bytes)

    Dim objFSO
    Dim objFTemp
    Dim objTextStream
    Dim lngSize

    on error resume next

    Set objFSO = CreateObject("Scripting.FileSystemObject")
   
    ' First, we get the filesize
    Set objFTemp = objFSO.GetFile(flnm)
    lngSize = objFTemp.Size
    set objFTemp = nothing

    fsoForReading = 1
    Set objTextStream = objFSO.OpenTextFile(flnm, fsoForReading)

    if offset > 0 then
        strBuff = objTextStream.Read(offset - 1)
    end if

    if bytes = -1 then        ' Get All!
        GetBytes = objTextStream.Read(lngSize)  'ReadAll
    else
        GetBytes = objTextStream.Read(bytes)
    end if

    objTextStream.Close
    set objTextStream = nothing
    set objFSO = nothing

  end function


  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::                                                            :::
  ':::  Functions to convert two bytes to a numeric value (long)  :::
  ':::  (both little-endian and big-endian)                        :::
  ':::                                                            :::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  function lngConvert(strTemp)
    lngConvert = clng(asc(left(strTemp, 1)) + ((asc(right(strTemp, 1)) * 256)))
  end function

  function lngConvert2(strTemp)
    lngConvert2 = clng(asc(right(strTemp, 1)) + ((asc(left(strTemp, 1)) * 256)))
  end function

 
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::                                                            :::
  ':::  This function does most of the real work. It will attempt  :::
  ':::  to read any file, regardless of the extension, and will    :::
  ':::  identify if it is a graphical image.                      :::
  ':::                                                            :::
  ':::  Passed:                                                    :::
  ':::      flnm        => Filespec of file to read              :::
  ':::      width      => width of image                        :::
  ':::      height      => height of image                        :::
  ':::      depth      => color depth (in number of colors)      :::
  ':::      strImageType=> type of image (e.g. GIF, BMP, etc.)    :::
  ':::                                                            :::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  function gfxSpex(flnm, width, height, depth, strImageType)

    dim strPNG
    dim strGIF
    dim strBMP
    dim strType
    strType = ""
    strImageType = "(unknown)"

    gfxSpex = False

    strPNG = chr(137) & chr(80) & chr(78)
    strGIF = "GIF"
    strBMP = chr(66) & chr(77)

    strType = GetBytes(flnm, 0, 3)

    if strType = strGIF then                ' is GIF

        strImageType = "GIF"
        Width = lngConvert(GetBytes(flnm, 7, 2))
        Height = lngConvert(GetBytes(flnm, 9, 2))
        Depth = 2 ^ ((asc(GetBytes(flnm, 11, 1)) and 7) + 1)
        gfxSpex = True

    elseif left(strType, 2) = strBMP then        ' is BMP

        strImageType = "BMP"
        Width = lngConvert(GetBytes(flnm, 19, 2))
        Height = lngConvert(GetBytes(flnm, 23, 2))
        Depth = 2 ^ (asc(GetBytes(flnm, 29, 1)))
        gfxSpex = True

    elseif strType = strPNG then            ' Is PNG

        strImageType = "PNG"
        Width = lngConvert2(GetBytes(flnm, 19, 2))
        Height = lngConvert2(GetBytes(flnm, 23, 2))
        Depth = getBytes(flnm, 25, 2)

        select case asc(right(Depth,1))
          case 0
              Depth = 2 ^ (asc(left(Depth, 1)))
              gfxSpex = True
          case 2
              Depth = 2 ^ (asc(left(Depth, 1)) * 3)
              gfxSpex = True
          case 3
              Depth = 2 ^ (asc(left(Depth, 1)))  '8
              gfxSpex = True
          case 4
              Depth = 2 ^ (asc(left(Depth, 1)) * 2)
              gfxSpex = True
          case 6
              Depth = 2 ^ (asc(left(Depth, 1)) * 4)
              gfxSpex = True
          case else
              Depth = -1
        end select


    else

        strBuff = GetBytes(flnm, 0, -1)        ' Get all bytes from file
        lngSize = len(strBuff)
        flgFound = 0

        strTarget = chr(255) & chr(216) & chr(255)
        flgFound = instr(strBuff, strTarget)

        if flgFound = 0 then
          exit function
        end if

        strImageType = "JPG"
        lngPos = flgFound + 2
        ExitLoop = false

        do while ExitLoop = False and lngPos < lngSize

          do while asc(mid(strBuff, lngPos, 1)) = 255 and lngPos < lngSize
              lngPos = lngPos + 1
          loop

          if asc(mid(strBuff, lngPos, 1)) < 192 or asc(mid(strBuff, lngPos, 1)) > 195 then
              lngMarkerSize = lngConvert2(mid(strBuff, lngPos + 1, 2))
              lngPos = lngPos + lngMarkerSize  + 1
          else
              ExitLoop = True
          end if

      loop
      '
      if ExitLoop = False then

          Width = -1
          Height = -1
          Depth = -1

      else

          Height = lngConvert2(mid(strBuff, lngPos + 4, 2))
          Width = lngConvert2(mid(strBuff, lngPos + 6, 2))
          Depth = 2 ^ (asc(mid(strBuff, lngPos + 8, 1)) * 8)
          gfxSpex = True

      end if
                 
    end if

  end function



  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  ':::    Test Harness                                              :::
  ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

  response.write "<tr><td>" 

  if gfxSpex(server.MapPath("a019.jpg"), w, h, c, strType) = true then
      response.write w & " x " & h & " " & c & " colors"
  else
      response.write "&nbsp;"
  end if
 
  response.write "</td></tr>"
  response.write "</table>"

%>

</body>
</html>


du må så angive en anden billede fil end a019.jpg
Avatar billede steen_hansen Forsker
11. juni 2002 - 21:01 #14
Ok, jeg troede scriptet kunne virke som en billedkomponent, men det, som det gør, er at vise størrelsen og antallet af farver?
Avatar billede eagleeye Praktikant
12. juni 2002 - 08:28 #15
øh duh. sorry... jeg har læst dit spørgsmål helt forkert.
Du skal bruge en kopunent som medions skriver...
Avatar billede johannielsen Nybegynder
12. juni 2002 - 11:57 #16
Kan det ikke gøres uden? - jeg har f.eks. et uploadscript der virker uden komponent.
Avatar billede johannielsen Nybegynder
29. august 2002 - 19:04 #17
Hmm, jeg fik ikke noget brugbart - men tak da for hjælpen.
Avatar billede medions Nybegynder
30. august 2002 - 07:41 #18
´Hmm ok
Thx 4 Poinz

//>Rune
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