vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 
zurück
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:     [ Jetzt bewerten ]Views:  17.084 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10 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

Dieser Tipp wurde bereits 17.084 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen [email protected]  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren [email protected]!
- 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.
 
   

Druckansicht Druckansicht Copyright ©2000-2022 [email protected] Dieter Otter
Alle 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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel