In einem unserer früheren Tipps haben wir Ihnen gezeigt, wie sich die Größe eines Bildes unter Verwendung eines Image-Controls ermitteln lässt. Der Nachteil dieser Variante ist, dass man eben auf der Form ein (unsichtbares) Image-Objekt benötigt. Heute möchten wir Ihnen eine Prozedur vorstellen, mit der sich ebenfalls die Größe eines Bildes ermitteln lässt - jedoch ohne hierfür ein Image-Control verwenden zu müssen. Ein weiterer Vorteil ist, dass Sie der Prozedur optional noch mitteilen können, in welcher Maßeinheit Sie die Größe ermittelt haben möchten (Twips, Pixel, usw.). Und hier der Code: ' Größe eines Bildes ermitteln Public Sub GetPictureSize(F As Form, _ pPicture As StdPicture, _ nWidth As Single, nHeight As Single, _ Optional ByVal nScaleMode As _ VBRUN.ScaleModeConstants = vbTwips) With pPicture nWidth = F.ScaleX(.Width, vbHimetric, nScaleMode) nHeight = F.ScaleY(.Height, vbHimetric, nScaleMode) End With End Sub Die Größenermittlung erfolgt über die ScaleX und ScaleY-Eigenschaften. Diese lassen sich jedoch nur auf ein Objekt anwenden, so dass Sie der Prozedur im ersten Parameter einfach ein Form-Objekt übergeben. Wichtig für die korrekte Umrechnung in die gewünschte Maßeinheit ist zu wissen, dass die Maßeinheit eines Standard-Pictures (StdPicture) immer vbHimetric ist. Der zweite Parameter erwartet das Bild. Übergeben Sie entweder die Picture-Eigenschaft eines existierenden Controls oder rufen Sie die Prozedur mit LoadPicture(Dateiname) auf. Im dritten und vierten Parameter bekommen Sie dann von der Prozedur die gewünschte Bildgröße zurückgeliefert. Der letzte Parameter ist optional und legt die gewünschte Maßeinheit fest. Wird nScaleMode nicht angegeben, werden Höhe und Breite des Bildes in Twips zurückgegeben. Beispiel: Dim nWidth As Single Dim nHeight As Single ' Bildgröße in Pixels GetPictureSize Me, LoadPicture("d:\bild1.jpg"), _ nWidth, nHeight, vbPixels MsgBox "Bildgröße: " & Format$(nWidth, "0") & _ Format$(nHeight, "0") Hinweis: Dieser Tipp wurde bereits 25.899 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv (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. |
Neu! sevCommand 4.0 ![]() Professionelle Schaltflächen im modernen Design! Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Tipp des Monats Heinz Prelle Datei-Mehrfachauswahl an eine ListBox übergeben Dieser Tipp zeigt, wie Sie über den Windows-CommonDialog eine Mehrfach-Dateiauswal realisieren... TOP Entwickler-Paket ![]() TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR... |
||||||||||||||||
|
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. |
|||||||||||||||||


Größe eines Bildes ermitteln II
.


