vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Grafik und Font · Bilder & Icons   |   VB-Versionen: VB4, VB5, VB629.05.03
Größe eines Bildes ermitteln III

Eine Prozedur, mit der sich die Größe eines Bildes ermitteln lässt, ohne Form-Objekt und ohne zusätzlichem-Control!

Autor:   Dieter OtterBewertung:  Views:  18.544 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Wie man die Größe eines Bildes ermittelt haben wir Ihnen bereits mehrfach gezeigt:

  1. Verwenden eines unsichtbaren Image-Objekts
  2. Verwenden der ScaleX- und ScaleY-Methoden eines Form-Objekts

Was aber, wenn weder ein Image-Control, noch ein Form-Objekt zur Verfügung steht? In diesem Fall verwenden Sie einfach nachfolgende Funktion.

' Größe eines Bildes in Pixel ermitteln
Public Function GetPictureSize(ByVal sFile As String, _
  nWidth As Long, nHeight As Long) As Boolean
 
  Dim oPic As New StdPicture
 
  On Error GoTo ErrHandler
  Set oPic = LoadPicture(sFile)
 
  ' Umwandlung von Maßeinheit Himetric nach Pixel erfolgt
  ' normalerweise über ScaleX und ScaleY eines Form-Objekts
  ' 
  ' nWidth = Form1.ScaleX(oPic.Width, vbHimetric, vbPixels)
  ' nHeight = Form1.ScaleY(oPic.Height, vbHimetric, vbPixels)
  ' 
  ' Existiert kein Form-Objekt nehmen wir den Faktor 26.46
 
  nWidth = oPic.Width / 26.46
  nHeight = oPic.Height / 26.46
 
  Set oPic = Nothing
  GetPictureSize = True
  On Error GoTo 0
  Exit Function
 
ErrHandler:
  GetPictureSize = False
End Function

Aufruf:

Dim nWidth As Long
Dim nHeight As Long
 
If GetPictureSize(App.Path & "\MyPicture.jpg", _
  nWidth, nHeight) = True Then
 
  ' Größe in MsgBox anzeigen
  MsgBox "Bildgröße: " & CStr(nWidth) & " x " _
    CStr(nHeight) & " Pixel"
 
Else
  ' Fehler...
  MsgBox "Fehler... " & _
    "Evtl. wurde ein ungültiger Bildpfad angegeben."
End If

Umrechnen nach Twips...
Benötigt man die Größenangabe nicht in Pixel, sondern in der VB-Maßeinheit Twips, lässt sich das wie folgt machen:

nWidth = nWidth * Screen.TwipsPerPixelX
nHeight = nHeight * Screen.TwipsPerPixelY



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.