Private Type BITMAP bmType As Long bmWidth As Long bmHeight As Long bmWidthBytes As Long bmPlanes As Integer bmBitsPixel As Integer bmBits As Long End Type
Private Declare Function GetObjectAPI Lib "gdi32" Alias "GetObjectA" ( _ ByVal hObject As Long, _ ByVal nCount As Long, _ lpObject As Any) As Long
Private Sub Form_Load() Dim pic As Picture Dim bmp As BITMAP Dim strFilename As String
strFilename = "C:\billede.jpg" Set pic = LoadPicture(strFilename) If GetObjectAPI(pic, Len(bmp), bmp) Then MsgBox "Width: " & bmp.bmWidth & " - Height: " & bmp.bmHeight End If End Sub
stigc>> Det kan måske have noget med billedformatet at gøre? Hvis dit billede ikke er et BMP, så prøv at konvertere det, og se om ikke det hjælper. Fejlen kan være på grund af at VB ikke kan læse billedets størrelse, hvis det er et "underligt" format. Jeg har været ude for visse jpg'er som gav de samme problemer.
tjacob >> Jeg tror ikke det er grunden. Det virker heller ikke ved BMP billeder
Private Sub Command1_Click() Dim pic As Picture Set pic = LoadPicture(App.Path & "\test.bmp") MsgBox Screen.TwipsPerPixelY MsgBox pic.Height / Screen.TwipsPerPixelY Image1.Picture = pic MsgBox Image1.Width / Screen.TwipsPerPixelY
End Sub
Det sjove er hvis jeg sætte et image.picture = pic, så er dens brede magen til breden på BMP billedet.
Mit "picture" objekt er selvfølgelig ikke noget der vises på skærmen, så det kan være man ikke kan bruge "Screen.TwipsPerPixelY". Forbindelsen mellem skærmen og billedet findes jo ikke.
men hvorfor, og ændre det sig ved andre computere?
Synes godt om
Ny brugerNybegynder
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.