Visualizzazione dei risultati da 1 a 7 su 7

Discussione: image resize

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    119

    image resize

    Ciao, utilizzo gli inc

    per il resize delle immagini
    .....
    response.write "[img]&foto&[/img]"

    Funzione con immagini in orizzontale, ma in verticale no.
    Avete qualche idea?

  2. #2
    se ridimensioni ad una grandezza fissa mi sembra ovvio...280 e 210 sono height e width dell'immagine resizata no? passagli i valori in base alle dimensioni dell'immagine...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    119
    In realtà dovrebbe essere il contrario, 280 larghezza 210 altezza:

    I = 0
    For Each f1 in objFC
    if i >= 1 then exit for
    if instr(ucase(f1.Name), ".JPG" ) then

    if gfxSpex(f1.Path, w, h, c, strType) = true then
    response.write "[img]&foto&[/img]"
    else
    response.write ""
    end if

    'response.write "</td></tr>"

    end if

    i = i + 1

    Next

    ...........................

    Tu dici di lavorare su:
    response.write "[img]&foto&[/img]" ?

  4. #4
    posso vedere il codice della function imageResize?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    119
    ecco.

    <%
    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 :::
    '::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::

    ' To test, we'll just try to show all files with a .GIF extension in the root of C:

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objF = objFSO.GetFolder(Server.MapPath("/img_offerte/"))
    Set objFC = objF.Files

    'response.write "<table border=""0"" cellpadding=""5"">"
    I = 0
    For Each f1 in objFC
    if i >= 1 then exit for
    if instr(ucase(f1.Name), ".JPG" ) then
    'response.write "<tr><td>" & f1.name & "</td><td>" & f1.DateCreated & "</td><td>" & f1.Size & "</td><td>"

    if gfxSpex(f1.Path, w, h, c, strType) = true then
    'response.write w & " x " & h & " " & c & " colors"
    response.write "[img]&foto&[/img]"
    else
    response.write ""
    end if

    'response.write "</td></tr>"

    end if

    i = i + 1

    Next

    'response.write "</table>"

    set objFC = nothing
    set objF = nothing
    set objFSO = nothing

    %>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    119
    Sei riuscito a capire...

  7. #7
    che vuol dire "non funziona con immagini verticali"?

    cmq c'è tutto ma non leggo function ImageResize...sarò cecato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.