Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » EMF-Format Header

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.07.2006, 12:10 Uhr
Ray



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..

C++:
if(x>y){ //landscape
      _WidthDevMM =(Int32) 295;
      _HeightDevMM =(Int32) 210;
      _WidthDevPixels =(Int32) 1024;
      _HeightDevPixels =(Int32) 768;
   }else{ //portrait
      _WidthDevMM =(Int32) 210;
      _HeightDevMM =(Int32) 295;
      _WidthDevPixels =(Int32) 768;
      _HeightDevPixels =(Int32) 1024;
   }
  
   _BoundsLeft =(Int32) 0*PIX2MM;
   _BoundsTop =(Int32) 0*PIX2MM;
   _BoundsRight =(Int32) (_WidthDevMM)*PIX2MM;
   _BoundsBottom =(Int32) (_HeightDevMM)*PIX2MM;
  
   _FrameLeft =(Int32) 10*PIX2MM;
   _FrameTop =(Int32) 10*PIX2MM;
   _FrameRight =(Int32) (_WidthDevMM-1)*PIX2MM;
   _FrameBottom =(Int32) (_HeightDevMM-1)*PIX2MM;


Wenn ich das recht verstanden habe müsste hier als bildgröße _boundsright X _boundsbottom herauskommen, kommt allerdings irgendwas mit 1090x900 oder so raus..
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.07.2006, 15:02 Uhr
xXx
Devil


www.wotsit.org/download.asp?f=emf hast de die datei entschlüsselung...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.07.2006, 17:41 Uhr
Ray



genau das hab ich gesucht.. hab mir schon gedacht, dass ich da was falsch gemacht hatte, aber in dem .hlp-file stehts auch.. in .01mm soll man den frame angeben.. tolles format..
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: