MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Como obter a dimensão (LxA) de imagem selecionada

    Compartilhe

    Eloirp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 15/06/2013

    [Resolvido]Como obter a dimensão (LxA) de imagem selecionada

    Mensagem  Eloirp em Sex 26 Set 2014, 15:52

    Após selecionar uma imagem para grava no BD eu preciso ler as dimensões (500x350) dela para saber se está de acordo com o necessário e assim evitar que a imagem fique distorcida quando visualizada via web! Alguém sabe me dizer como faço isso?
    Com ajuda dos mestres do fórum eu consigo ler o tamanho em KB, mas isso só evita que sejam enviadas imagens grandes demais, mas não resolve a questão das dimensões!

    Código:
    Function fncObterTamanhoImg()

        Dim fso As Scripting.FileSystemObject
        Set fso = New Scripting.FileSystemObject
        Dim File As Scripting.File
        Dim strCaminho As String
        Dim fileSize As String
        
        strCaminho = strfName
            
        If fso.FileExists(strCaminho) Then
            Set File = fso.GetFile(strCaminho)
                
            fileSize = Format(Round(File.Size / 1000))
                
            If fileSize > 100 Then
                MsgBox ("         Tamanho da Imagem " & fileSize & " " & "KB, permitido imagens até 100KB!        "), vbOKOnly, "Sistema Interno ELPER"
                Me.Anexo_Name.Value = Null
                Call load_IMGv
            Else
                Me.bt_Salvar_Img.Enabled = True
            End If
        End If
            
    End Function

    Eloirp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 15/06/2013

    Re: [Resolvido]Como obter a dimensão (LxA) de imagem selecionada

    Mensagem  Eloirp em Seg 29 Set 2014, 14:09

    Pesquisando na net consegui resolver e agora consigo validar tanto o tamanho em KB quanto a dimensão LxA!
    Para aqueles que precisarem futuramente, o código ficou como segue:

    Function fncObterTamanhoImg()

       Dim fso As Scripting.FileSystemObject
       Set fso = New Scripting.FileSystemObject
       Dim File As Scripting.File
       Dim strCaminho As String
       Dim fileSize As String
       Dim fileFileDimension As String
       
           strCaminho = strfName
           
           If fso.FileExists(strCaminho) Then
               
               ' verifica o tamanho da imagem em KB
               Set File = fso.GetFile(strCaminho)
               fileSize = Format(Round(File.Size / 1000))
               
               ' verifica a dimensão da imagem
               Dim iWidth, iHeight
               Dim myImg, fs
               
               Set fs = CreateObject("Scripting.filesystemobject")
               If Not fs.FileExists(strCaminho) Then Exit Function
               
               Set myImg = LoadPicture(strCaminho)
               iWidth = Round(myImg.width / 26.4583)
               iHeight = Round(myImg.Height / 26.4583)
               fileFileDimension = iWidth + iHeight
               
               Set myImg = Nothing
               
               If fileSize > 200 Then
                   MsgBox ("         Tamanho da Imagem " & fileSize & " " & "KB, permitido imagens até 200KB!        "), vbOKOnly, "Sistema Interno ELPER"
                   Me.Anexo_Name.Value = Null
                   Call load_IMGv
               Else
                   If fileFileDimension > 1785 And fileFileDimension < 1800 Then
                       Me.bt_Salvar_Img.Enabled = True
                   Else
                       MsgBox ("         As dimensões da imagem dever ser 1024 x 768!        "), vbOKOnly, "Sistema Interno ELPER"
                       Me.Anexo_Name.Value = Null
                       Call load_IMGv
                   End If
               End If
           End If
           
    End Function


    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3208
    Registrado : 15/03/2013

    Re: [Resolvido]Como obter a dimensão (LxA) de imagem selecionada

    Mensagem  ahteixeira em Seg 29 Set 2014, 14:15

    Olá, obrigado pela partilha o forum agradece.
    Abraço

      Data/hora atual: Ter 06 Dez 2016, 05:40