EMF-Format - Header

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • EMF-Format - Header

    Hi.. ich habe eine Frage zum EMF_Header. Ich programmiere unter Linux einen Export von EMF und da habe ich nun fast alles umgesetzt, nur wird mir unter Windows das Bild immer zu klein ausgegeben. Im EMF_Header sind ja Einträge für das BoundsRect (Left/Top/Right/Bottom) und auch für das FrameRect(LTRB). Normalerweise berechnet sich die EMF_Bildgröße nun durch R-L=weite und B-T=höhe, bei mir klappt das allerdings nicht.. habe ich da einen Denkfehler? Oder wird die Gräöße unter Windows noch von anderen Faktoren beeinflusst? Weiter hinten im Header sind ja auch die Auflösungen des Devices in mm und pixel, daher berechnet (zB die Windows-Faxanzeige) die dpi des EMF-Bildes. Dies stimmt bei mir.
    Durch Verändern des Frames im Header kann ich direkt die Bildgröße beeinflussen, obwohl das nicht so sein sollte. Verstehe ich auch nicht. Für eine Doku oder einen Hinweis wäre ich echt mal dankbar. Scheint ja schon fast ein aussterbendes Format zu sein.

    hier noch was code:
    Pix2mm und Pix2cm sind einfach die umrechnungen wieviel pix ein cm oder ein mm enthält..

    Quellcode

    1. if(x>y){ //landscape
    2. _WidthDevMM =(Int32) 295;
    3. _HeightDevMM =(Int32) 210;
    4. _WidthDevPixels =(Int32) 1024;
    5. _HeightDevPixels =(Int32) 768;
    6. }else{ //portrait
    7. _WidthDevMM =(Int32) 210;
    8. _HeightDevMM =(Int32) 295;
    9. _WidthDevPixels =(Int32) 768;
    10. _HeightDevPixels =(Int32) 1024;
    11. }
    12. _BoundsLeft =(Int32) 0*PIX2MM;
    13. _BoundsTop =(Int32) 0*PIX2MM;
    14. _BoundsRight =(Int32) (_WidthDevMM)*PIX2MM;
    15. _BoundsBottom =(Int32) (_HeightDevMM)*PIX2MM;
    16. _FrameLeft =(Int32) 10*PIX2MM;
    17. _FrameTop =(Int32) 10*PIX2MM;
    18. _FrameRight =(Int32) (_WidthDevMM-1)*PIX2MM;
    19. _FrameBottom =(Int32) (_HeightDevMM-1)*PIX2MM;
    Alles anzeigen

    Wenn ich das recht verstanden habe müsste hier als bildgröße _boundsright X _boundsbottom herauskommen, kommt allerdings irgendwas mit 1090x900 oder so raus.. :roll:[/coderwiki]