Page 1 of 2 1 2 LastLast
Results 1 to 15 of 23

Thread: pixels naar centimeter

  1. #1
    Novice Programmer
    Join Date
    Oct 2004
    Location
    Maastricht
    Posts
    114

    pixels naar centimeter

    Hey, hoe converteer ik een muispositie van het type TPoint naar centimeter?
    ik heb namelijk 2 variabelen, ptA , ptB : TPoint. Dat zijn 2 muisposities. En ik wil de afstand er tussen in centimeters hebben. Hoe doe ik dat? Ik heb het namelijk in pixels of zo en ik krijg het maar op geen enkele wijze geconverteerd. Het lukt me ook niet met PixelsPerInch.

  2. #2
    Senior Member arnold's Avatar
    Join Date
    Aug 2002
    Location
    Almelo
    Posts
    792
    is volgens mij vrij simpel.

    als je zegt dat 1 pixel 1 mm is, dan kan je hier toch een simpele rekensom op los
    laten.

    ptB - PtB = x mm
    Computers make very fast, very accurate mistakes.

  3. #3
    Is dat niet ((PuntA - PuntB) /DPI)/2.54 ? in de veronderstelling dat ze beiden op dezelfde lijn liggen
    DeX 3 Delphi := The ease of VB with the power of C; Zoekt en gij zult vinden

  4. #4
    Senior Member BVerhaar's Avatar
    Join Date
    Sep 2004
    Location
    Zuid Holland
    Posts
    455
    @Henkie, ja, dat is zo (zelfde veronderstelling, en anders even pytagoras erop loslaten). Maar hoe vind je uit wat je DPI is? Volgens mij kan dat niet.
    Last edited by BVerhaar; 13-Dec-04 at 21:20.

  5. #5
    Yay: Student(je) af
    Join Date
    Jun 2003
    Location
    Harderwijk
    Posts
    2,621
    Het lukt me ook niet met PixelsPerInch
    DPI = DotsPerInch = PixelsPerInch ?
    My software never contains bugs. Perhaps just undocumented features.

  6. #6
    Novice Programmer
    Join Date
    Oct 2004
    Location
    Maastricht
    Posts
    114
    Originally posted by Henkie
    Is dat niet ((PuntA - PuntB) /DPI)/2.54 ? in de veronderstelling dat ze beiden op dezelfde lijn liggen
    label4.Caption:='X coord in cm:'+FloatToStr(deltaX/PixelsPerInch/2.54);

    deltaX is dus het absolute verschil in X coordinaten. Maar als ik van pixel 0 naar pixel 1023 ga dan zegt ie dat het maar 4 cm is, en het is wel degelijk meer :/

  7. #7
    Senior Member BVerhaar's Avatar
    Join Date
    Sep 2004
    Location
    Zuid Holland
    Posts
    455
    Hoeveel pixels per inch hanteer je dan?

  8. #8
    Novice Programmer
    Join Date
    Oct 2004
    Location
    Maastricht
    Posts
    114
    Geen idee :P Hoe zet ik dat juist m.b.t. de huidige screen resolutie?
    Delphi, VB, Pascal, C#, PHP, SQL

  9. #9
    Volgens mij ga je voor schermen uit van 72 dpi (met scans en webafbeeldingen zie je dat vaak). Een ander getal is 96 dpi (dit zie je standaard staan in de PixelsPerInch property van de Delphi form. Het hangt natuurlijk ook af van de grootte van je monitor en de ingestelde resolutie. Een monitor met een zichtbaar gebied van 20" heeft een horizontale zijde van 16". Als op deze monitor een resolutie van 1280x960 is ingesteld, dan heb je dus 1280/16 = 80 dpi. Als je een hogere resolutie instelt, dan heb je op je scherm uiteraard meer dpi.
    1+1=b

  10. #10
    Senior Member BVerhaar's Avatar
    Join Date
    Sep 2004
    Location
    Zuid Holland
    Posts
    455
    Je hebt toch een sommetje waar 4 uit komt? Dan weet je toch welek dpi je hanteert? Volgens mij kan het ook niet bepaald worden. Je kan misschien bij benadering iets berekenen. Hoeveel pixels je monitor (of tft, of beamer, da's nog erger) in één inch stopt weet je niet. Dus je kan het niet bepalen.

  11. #11
    Novice Programmer
    Join Date
    Oct 2004
    Location
    Maastricht
    Posts
    114
    ik heb vroeger VB gedaan, en daar ging het wel in dacht ik, zou raar zijn als het in Delphi niet zou kunnen. Maar ja, anders maak ik wel een option scherm waarbij de gebruiker zelf de screen instellingen e.d. moet invullen.

    Ik heb btw 1024 en 17 inch beeld. dus 1024/17=96, das toevallig dezelfde waarde als PixelsPerInch.

    label4.Caption:='X coord in cm:'+FloatToStr(deltaX/96/2.54); geeft dus ook 4 als uitkomst

  12. #12
    Als je de VB-code nog hebt, kun je het toch omzetten in Delphi?
    DeX 3 Delphi := The ease of VB with the power of C; Zoekt en gij zult vinden

  13. #13
    Vroeger in VB had je Twips. Een twip was een maateenheid (er gingen volgens mij 14 twips in een pixel) waar je volgens mij helemaal nergens mee uit de voeten kunt. Je zult een definitie moeten hebben van hoeveel pixels één centimeter is. Als je wilt dat 1 centimeter op het scherm ook fysiek 1 centimeter is, dan moet je dus een omrekening doen van je schermafmeting en je resolutie. Dit is inderdaad haast niet te doen zonder tussenkomst van de gebruiker. Het beste zou nog zijn om een vlak te tonen van x bij y pixels en de gebruiker te vragen dit op te meten. Je kunt dan het aantal centimeters dat je gebruiker opgeeft verrekenen met de afmeting van het vlak in pixels. Dat is volgens mij de enige manier om het echt zeker te weten.

    Andere vraag. Waarom wil je dit?
    1+1=b

  14. #14
    Senior Member BVerhaar's Avatar
    Join Date
    Sep 2004
    Location
    Zuid Holland
    Posts
    455
    Je kan ergens wel de dpi opvragen, als gebruiker kun je dat bij de displayproperties instellen. Maar je weet niet zeker of het ingestelde DPI-getal ook datgene is wat de betreffende beeldbuis/tft/beamer toont.
    Overigens is je berekening niet juist
    Code:
    deltaX/PixelsPerInch/2.54
    Dit moet zijn
    Code:
    deltaX/PixelsPerInch*2.54
    deltaX = 1024
    delen door DPI (96) levert op 10,66 INCH,
    in CM is dat 2,54 maal zoveel is plusminus 27 cm.

  15. #15
    Novice Programmer
    Join Date
    Oct 2004
    Location
    Maastricht
    Posts
    114
    Klopt, me berekening klopte niet. Maar me beeld is 32 cm breed, dus ik zit 5 tekort. Vreemd, zou toch denken dat he zo zou moeten lukken.

    Ik wil dit omdat ik muis metingen moet verichten. Ik moet weten hoeveel cm de muis cursor op een beeld beweegt om dit vervolgens te loggen en later grafisch weer te geven.

    Maar ik denk dat ik dan gewoon een lijn draw van 100 pixels en aan de gebruiker vraag hoe lang die is in cm. Met die factor reken ik het dan wel om.
    Delphi, VB, Pascal, C#, PHP, SQL

Page 1 of 2 1 2 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Van pag1, naar pag2, naar pag3, naar pag1
    By Matrix in forum WebDelphi
    Replies: 10
    Last Post: 30-Nov-04, 11:30
  2. recursieve functie : Pixels tellen
    By DeBug in forum Algemeen
    Replies: 30
    Last Post: 15-Nov-04, 12:32
  3. conversie van binair naar hexadecimaal
    By paulf in forum Algemeen
    Replies: 3
    Last Post: 08-Sep-02, 22:39
  4. Link naar post...
    By PsychoMark in forum De website
    Replies: 1
    Last Post: 23-Aug-02, 22:59

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •