vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
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:  18.584 
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

Dieser Tipp wurde bereits 18.584 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 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.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv 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