MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

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
    avatar
    Eloirp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 153
    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
    avatar
    Eloirp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 153
    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

    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4394
    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: Qua 20 Set 2017, 21:09