MetaFile größe zuweisen



  • Hallo zusammen,

    ich habe folgendes Problem:
    Grafik (ein bißchen Text und Linien) sollen über die Zwischenablage exportiert werden. So weit klappt alles ganz gut, nur würde ich gerne die Größe so festlegen, dass ein Quadrat beispielsweise eine Kantenlänge von 1 cm bekommt.

    Beispiel: Es soll ein Recheck gezeichnet werden, das nach dem Expotz 1cm^2 haben soll

    TMetafile* MF = new TMetafile; // Ein MetaFile ...
      MF->MMWidth = 1000; // ...dessen Größe auf 
      MF->MMHeight = 1000; // auf einen cm Kantenlänge gesetzt wird
      TMetafileCanvas* MFC = new TMetafileCanvas(MF, 0); // Das MetaFile mit Canvas Zeichenfläche
      MFC->Rectangle(TRect(0,0,100,100)); // Dieses Quadrat sollte nacher 1cm Kantenlänge haben
      delete MFC; // Der Destruktor ist wichtig, danach enthält das MetaFile die Zeichnung
      Clipboard()->Assign(MF); // Ab in die Zwischenablage
      delete MF; // Fertig
    

    Wenn ich nun exportiere, sieht das Ergebnis etwa so aus:

    In Word:
    Die Grafik hat eine Kantenlänge von 0.95 cm und das Quadrat ist deutlich größer (was außerhalb ist wird geclippt)

    In Corel:
    Das Quadrat hat eine KL von 27.778 mm.

    Hat jemand Rat zur Abhilfe?

    Überlegungen:

    Hätte ich das Quadrat bereits kleiner malen müssen? (0, 0, 100/2.7, 100/2.7) oder so was? Das wäre schade, denn für kleinere Zahlen bekomme ich größere Rundungsfehler.

    Muss ich irgendwie die Eigenschaft MF->Inch setzen? Versuche meinerseits haben nichts bewirkt.

    Bin für jede Hilfe dankbar.

    Gruß

    Martin



  • Verwarnung wegen thematischem Doppelposting.

    Bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema.
    Danke!



  • Jansen schrieb:

    Verwarnung wegen thematischem Doppelposting.

    Bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema.
    Danke!

    Sorry, soll nicht wieder vorkommen.

    Das andere Posting ist so lange her und unbeantwortet, dass ich es eigentlich abgehakt hatte. Mein Problem habe ich nach wie vor und finde nirgends Hilfe. Google liefert mit fast nur Seiten auf Russisch und Chinesisch. In den FAQs habe ich auch nichts gefunden. Deshalb dachte ich, es wäre vielleicht gut, mein Vorgehen genauer zu beschreiben und etwas Quellcode mitzuliefern.

    Wie hätte ich richtigerweise vorgehen müssen? Auf meinen eigenen Beitrag antworten?

    Gruß

    Martin



  • hm,
    Das Corel und Word unterschiedliche Ergebnisse leifern wundert mich.
    Versuch ein anderes Datei-Format.



  • es könnte aber auch daran leigen, dass die programme eine andere 'auflösung' haben, also der Pixel/inch oder so unterschiedlich ist.



  • hab ich mir auch gedacht. Das Problem Inch/cm. aber 1 cm= 0.39 inch != 0,2778



  • martin_b schrieb:

    Das andere Posting ist so lange her

    Grad mal zwei Tage, und immer noch auf der zweiten Seite des Forums.

    Wie hätte ich richtigerweise vorgehen müssen? Auf meinen eigenen Beitrag antworten?

    Genau. Einfach in einem Nachtrag versuchen, das Problem besser/anders zu beschreiben.


Log in to reply