![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Jr. Member
![]() Registriert seit: 12.10.2000
Beiträge: 88
|
![]() Ich möchte von Bilddateien (.jpg) die Weite und Breite in Pixel auslesen:
ScrX = Screen.TwipsPerPixelX ScrY = Screen.TwipsPerPixelY Twips per Pixel ergibt jeweils 15 Set b = LoadPicture("Test.jpg", vbLPLargeShell) h = b.Height / 15 w = b.Width / 15 Die erhaltenen Werte entsprechen nicht den Pixel, sondern es kommen periodische Dezimalwerte heraus: 1. Bild 600 x 900 Pixel: 1058,3333 x 1587,3333 2. Bild 208 x 368 Pixel: 366,8666 x 649,3333 Dies ergibt einen Faktor von aufgerundet 1,764, jedoch pro Bild und Seitenangabe differieren diese Werte. Ich habe diverse Bildschirmauflösungen probiert, dies hat keinen Einfluss auf die Werte. Wer weiss weiter? Ciao nbauer |
![]() |
![]() |
![]() |
#2 |
Master
![]() |
![]() HI!
Also eigentlich sollte deine Methode fast die richtige Breite und Höhe liefern. Fast weil bei der width und height Eigenschaft der Rand (Border) Mitgerechnet wird. (Sind glaub ich 4 Pixel) Schau mal ob du nicht die ScaleMode eigenschaft verstellt hast! ZB durch das setzen von scalewidth oder scaleHight. Wenn du in deiner Programmlogik keine Twips brauchst stell doch den ScaleMode von der Picturebox auf pixel (3) und frage die Scalewidth und scaleheigth eigenschaft ab die liefert immer genau die Bildbreite/Höhe ohne umrechnen. Code:
b.ScaleMode = 3 h = b.ScaleHeight w = b.ScaleWidth MsgBox w & "x" & h
____________________________________
__________________ |»»»»»SONIC««««««| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|