Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

AEM

File System Object

Recommended Posts

ae galera.. beleza..to com problemas em manutenções de imagenscriei um Script em ASPJpeg para diminuir a Qualidade e o Tamanho de ImagensO problema é que tenho que fazer este procedimento em todas as imagens numa estrutura assim:Pasta ImagensSubpasta 01Arquivos 01_a.jpg e 01_b.jpgSubpasta 02Arquivos 02_a.jpg e 02_b.jpge assim por diante..Como montar uma estrutura que o programa realize o procedimento nos arquivos de imagens dentro das pastas e subpastas de um caminho especificado?For Each...NextCOMO ?Valeu galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

AEM...Faça uma função que executa o procedimento com o ASPJPeg para facilitar.Então crie os objetos e o laço de repetição.Segue exemplo.

'==================='CRIA FSO'===================Set ObjFso = Server.CreateObject("Scripting.FileSystemObject")'==================='PEGA A PASTA'===================Set ObjPasta1 = ObjFso.GetFolder("C:\nome_da_pasta")'===================='FOR NEXT NAS SUBPASTAS'====================For Each Folder in ObjPasta.SubFolders'===================='FOR NEXT NAS SUBPASTAS'====================Set ObjPasta2 = Folder'==================='LAÇO FOR NEXT'===================For Each File in ObjPasta2  '===================  'CRIA OBJETO FILE  '===================  Set oFile = File.Path  '===================  'CHAMA FUNÇÃO PARA ALTERAR A IMAGEM  '===================  Call MinhaFuncao(File.Path)NextNext

Cara...Eu fiz agora, não deu para testar, portanto, se der erro avisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae pessoal beleza... valeu marcelo pela dica e esforço em ajudar... posto o código de manipulação de imagens que comprime o tamanho da imagem e as dimensões, completo, funcionando e explicado para ajudar quem precisa

qualquer BUG mande uma MP

ASP

[*]

 

[*]<link rel="stylesheet" type="text/css" href="estilo.css">

 

[*]<div align="center">

 

[*] <center>

 

[*] <br>

 

[*] <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" class="Texto_Tabela" id="AutoNumber1">

 

[*] <tr>

 

[*] <td colspan="4"> </td>

 

[*] </tr>

 

[*] <tr>

 

[*] <td class="Titulo_Tabela" colspan="4" Align="Center"><b>Arquivos nas pastas</b></td>

 

[*] </tr>

 

[*]

 

[*]<%

 

[*]'Função pra calcular o tamanho

 

[*]Function FormatSize(tamanho)

 

[*] IF (tamanho < 1024) Then

 

[*] FormatSize = tamanho & " Bytes"

 

[*] ElseIF (tamanho < 1024*1024) Then

 

[*] FormatSize FormatNumber(tamanho/1024, 2) & " K"

 

[*] ElseIF (tamanho < 1024*1024*1024) Then

 

[*] FormatSize FormatNumber(tamanho/(1024*1024), 2) & " MB"

 

[*] Else

 

[*] FormatSize FormatNumber(tamanho/(1024*1024*1024), 2) & " GB"

 

[*] End if

 

[*]End function

 

[*]'/--------------------------------------------------------------------------------------------\

 

[*]'|Loop Utilizando FSO para fazer a manutenção das Imagens em Pastas e SubPastas fotos da pasta| 

 

[*]'\--------------------------------------------------------------------------------------------/

 

[*]'===================

 

[*]'CRIA FSO

 

[*]'===================

 

[*]Set objFSo Server.CreateObject("Scripting.FileSystemObject")

 

[*]'===================

 

[*]'PEGA A PASTA

 

[*]'===================

 

[*]'Caminho Fisico Completo --- Coloque o caminho que tem a seguinte estrutura--- na pasta PAI

 

[*]'Pasta PAI

 

[*]'SubPasta 01

 

[*]'  Arquivo na Subpasta ex: 01.jpg

 

[*]'  Arquivo na Subpasta ex: 02.jpg

 

[*]'SubPasta 02

 

[*]'  Arquivo na Subpasta ex: 01.jpg

 

[*]'  Arquivo na Subpasta ex: 02.jpg

 

[*]Caminho "C:\diretorioPAI\DiretorioFilho\SubDiretorios\SubDiretorios"

 

[*]'O caminho Image especificado abaixo.. serve para servidores que não aceitam puxar a imagem na tag 'IMG SRC=' com o caminho fisico acima... no meu caso só aceitou o caminho abaixo.. mas necessita do caminho acima para fazer a manipulação da imagem

 

[*]CaminhoImage "SubDiretorios\Subdiretorios"

 

[*]Set objPasta objFso.GetFolder(Caminho)

 

[*]'====================

 

[*]'FOR NEXT NAS SUBPASTAS

 

[*]'====================

 

[*]Set SubFolders ObjPasta.SubFolders

 

[*]

 

[*] For Each SubFolders2 in SubFolders

 

[*]

 

[*] Set Files Subfolders2.Files

 

[*]

 

[*] For Each Files2 in Files

 

[*] 'Recupera o Nome do diretório onde o arquivo esta -- insto para Sobreescrever o Arquivo

 

[*] Diretorio SubFolders2.Name

 

[*]

 

[*] 'Nome do Arquivo

 

[*] Name Files2.Name

 

[*] CaminhoArquivo Files2.ShortPath

 

[*] TamanhoAntigo Files2.Size

 

[*]

 

[*]%>

 

[*]<%

 

[*] 'Instrução para pegar só arquivos válidos -> GIF JPG e BMP

 

[*] 'Caminho com Nome do Arquivo

 

[*] '---------------------------------------------

 

[*] 'Separa a Extenção e Armazena na variavel EXT

 

[*] sSplit split(Name, ".")

 

[*] sEXT sSplit(Ubound(sSplit))

 

[*] Ext = sExt

 

[*] 'Caixa alta para verificar se a extenção é válida

 

[*] EXT UCASE(EXT)

 

[*] 'Se o arquivo for JPG ou BMP ou GIF

 

[*] IF Ext "BMP" OR Ext "JPG" OR EXT "GIF" Then

 

[*]

 

[*]'/--------------------------------------------------------\

 

[*]'|------Começa a Instrução de Compressão das Imagens------|

 

[*]'\--------------------------------------------------------/

 

[*]

 

[*]'-------------------------------------------------------------------------------------------

 

[*]' Cria a Instancia do componente

 

[*]Set Jpeg Server.CreateObject("Persits.Jpeg"

 

[*]' Abre o caminho da Imagem para o componente

 

[*]Jpeg.Open Caminho & "\" & Diretorio & "\" & Name

 

[*]'Nome do Arquivo sem Extenção

 

[*]sSplit split(Name, ".")

 

[*]Lname sSplit(Lbound(sSplit))

 

[*]'Qualidade da imagem

 

[*]Jpeg.Quality = 75

 

[*]'Tamanho da imagem

 

[*]Height Jpeg.Height

 

[*]Width Jpeg.Width

 

[*]'Verifica a Imagem e de acordo com o tamanho determina a porcentagem a reduzir

 

[*]IF Width >= 1024 AND Height >= 768 Then

 

[*]MSG "Maior que 1024 X 768<BR> Redução de 50 %"

 

[*]proporcaoOriginal Jpeg.Width & "x" & Jpeg.Height

 

[*]'Calcula a Porcentagem

 

[*]Scale = 60 '50%

 

[*]Scale = Scale / 100

 

[*]'Calcula o Tamanho a Ser reduzida a Imagem

 

[*]Height Jpeg.Height * Scale

 

[*]Width Jpeg.Width * Scale

 

[*]'Cria o Novo Tamanho e Altera a Imagem

 

[*]Jpeg.Height = Height

 

[*]Jpeg.Width = Width

 

[*]ElseIF Width >= 800 AND Height >= 600 AND Width < 1024 AND Height < 768 Then

 

[*]MSG "Menor que 1024 x 768 e Maior que 800 x 600 <BR>25 % de redução"

 

[*]proporcaoOriginal Jpeg.Width & "x" & Jpeg.Height

 

[*]Scale = 75

 

[*]Scale = Scale / 100

 

[*]Height Jpeg.Height * Scale

 

[*]Width Jpeg.Width * Scale

 

[*]'create thumbnail and save it to disk

 

[*]Jpeg.Height = Height

 

[*]Jpeg.Width = Width

 

[*]ElseIF Width > 640 AND Height > 480 AND Width < 800 AND Height < 600 Then

 

[*]MSG "Maior que 640 x 480 e Menor que 800 x 600"

 

[*]proporcaoOriginal Jpeg.Width & "x" & Jpeg.Height

 

[*]Scale = 85

 

[*]Scale = Scale / 100

 

[*]Height Jpeg.Height * Scale

 

[*]Width Jpeg.Width * Scale

 

[*]'create thumbnail and save it to disk

 

[*]Jpeg.Height = Height

 

[*]Jpeg.Width = Width

 

[*]ElseIF Width <= 640 AND Height <= 480 Then

 

[*]MSG "Menor que 640 x 480 <BR> Somente Reduzida a Qualidade Devido ao Tamanho!"

 

[*]proporcaoOriginal Jpeg.Width & "x" & Jpeg.Height

 

[*]'somente reduz a qualidade

 

[*]END IF

 

[*]'Salva no formato JPG

 

[*]Extencion "JPG"

 

[*]'Salva no Diretorio informado pelo For Each

 

[*]Jpeg.Save (Caminho & "\" & Diretorio & "\" & Lname & ".jpg")

 

[*]'/--------------------------------------------------------\

 

[*]'|------Começa a Instrução de Compressão das Imagens------|

 

[*]'\--------------------------------------------------------/

 

[*]%>

 

[*]<tr>

 

[*]<td>

 

[*]<img src='<%=CaminhoImage & "\" & Diretorio & "\" & Name%>border='0'><BR>

 

[*]<b><I>Dados da Imagem</B></I>

 

[*]<BR>Nome Arquivo:<%=Name%>

 

[*]<BR><%=MSG%>

 

[*]<BR>Proporções Originais: <%=proporcaoOriginal%>

 

[*]<BR>Proporções Alteradas: <%=Width & "x" & Height%>

 

[*]<BR>Tamanho Original: <%=FormatSize(TamanhoAntigo)%>

 

[*]<BR>Tamanho Processado: <%

 

[*]Set objFile objFso.GetFile(Caminho & "\" & Diretorio & "\" & Name)

 

[*]Response.Write FormatSize(ObjFile.Size)

 

[*]%>

 

[*]<BR>Caminho: <%=CaminhoImage & "\" & Diretorio & "\" & Name%>

 

[*]<hr>

 

[*]</td>

 

[*]</tr>

 

[*]<%

 

[*]End if

 

[*]Next

 

[*]Next

 

[*]%>

 

[*]

 

[*] </td></tr> </td>

 

[*] </table>

 

[*] </center>

 

[*]</div>

 

[*]

Valeu.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.