Avatar billede mega-hawk Nybegynder
26. august 2009 - 16:29 Der er 6 kommentarer og
1 løsning

Form og billed dim i pixels

Hej.

Jeg har brug for at vide hvor stor skærmen er ved en bruger og hvor stor et billed er som bliver åbnet i et nyt vinde.
Jeg vil gerne have det hele tilbage i pixels.
Jeg har denne kode:

Dim pic_width, pic_heigh As Long
full_size_frm.ScaleMode = vbPixels
pic_width = Image1.Picture.Width
pic_heigh = Image1.Picture.Height
MsgBox "Billedets bredde " & pic_width & " og billedets højde " & pic_heigh & ""
full_size_frm.Image1.Picture = LoadPicture(Main.File1.Path & "\" & Main.File1.FileName)
full_size_frm.Show


Den henter fint nok billedet og viser også formen men det jeg får tilbage er ihvertfald ikke pixels.

Eks:
Et billed som er 4000 X 3000
bliver til 105833 X 79375

Hvad er der galt?
Avatar billede tjacob Juniormester
27. august 2009 - 11:10 #1
Det er sandsynligvis enheden Twips du får ud.

Afhængig af din skærms opløsning kan disse konverteres til pixels ved hjælp af funktionerne
Screen.TwipsPerPixelX og Screen.TwipsPerPixelY.

Så prøv dette:

w = [bredde]/Screen.TwipsPerPixelX
h = [højde]/Screen.TwipsPerPixelY
Avatar billede mega-hawk Nybegynder
27. august 2009 - 18:59 #2
Kan du lige korrigere denne kode for mig:

Dim w, h As Long
w = form1.Width / Screen.TwipsPerPixelX
h = form1.Height / Screen.TwipsPerPixelY

Jeg kører med en opløsning som hedder 1440x900 ifølge windows selv da.
Men med det her (muligt jeg har misforstået dig) får jeg resultaterne 899x690

Men ved da ikke om windows kører i pixels?
Men ellers tror jeg da du har fat i det rigtige så hvis du smider et svar så burde der være points til dig :o)
Avatar billede tjacob Juniormester
28. august 2009 - 10:06 #3
Tja, det kan jeg ikke umiddelbart korrigere, for du bruger funktionerne helt korrekt, så fejlen må ligge et andet sted.

Du får dette resultat med en maximeret skærm?
For så burde du jo få 1440x900 (minus lidt til taskbar forneden).

Prøv at lægge form.Show ind FØR du laver w og h.

Du kan evt. prøve med form1.ScaleWidth og -Height.
Avatar billede mega-hawk Nybegynder
29. august 2009 - 19:28 #4
Hvis jeg bruger funtionen forkert er det fordi jeg har misforstået noget. Får ikke tid til at arbejde med det i morgen men hvis jeg har misforstået funktionen så prøv lige at skriv hvordan du mener helt præcis jeg skal skrive den.
Avatar billede tjacob Juniormester
31. august 2009 - 11:02 #5
Nej, som jeg skrev i #3 så bruger du den helt korrekt.
Avatar billede mega-hawk Nybegynder
31. august 2009 - 18:16 #6
Hey sorry jeg har sgu nok lige læst forkert i farten, men der går nok lige en uges tid før jeg rigtig kommer til at arbejde med det igen. Så hvis du giver mig et svar så vil jeg arbejde ud fra det og lukke denne tråd. Jeg hader at have åben tråde især når jeg ved der går lidt tid før jeg får tid til at arbejde med det og synes med din måde at skrive tingene på er jeg sikker på at jeg før eller siden nok skal nå det rigtige og om ik andet har du alligevel klaret at lære mig noget nyt og det synes jeg også er en vigtig ting.
Avatar billede tjacob Juniormester
01. september 2009 - 10:22 #7
OK, -svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester