Re: Vektor Format anzeigen/drucken
@xaromz: siehst noch eine chance, die SVG Import Library so zu ändern, das die Schriften richtig gedruckt werden wie von den anderen Programmen (Coreldraw, Inkscape, IE, firefox, AI)?
Das Problem ist, das ich habe immer einiges an text, und die müssen doch einigermassen exakt positioniert und gedruckt werden (das selbe problem habe ich mit EMF/WMF auch, das die positinierung nicht passt - da war aber der export von corel schuld) |
Re: Vektor Format anzeigen/drucken
Hallo,
momentan habe ich keine rechte Idee, was das Problem ist. Ich schau mir das aber noch mal genauer an. Gruß xaromz |
Re: Vektor Format anzeigen/drucken
Zitat:
(hattest du schon mal ein svg, wo die texte richtig gerendert wurden - also, wo das ende eines textes auch positionsgetreu sein mußte?) wenn du irgendeine hilfe brauchst - einfach melden das ist jetzt der part aus dem svg mit dem einfachen text
Code:
<text x="5.8918" y="12.3474" fill="#131516" font-weight="normal" font-size="2.4694" font-family="Arial">Strasse, Ort und eventuell Land, </text>
|
Re: Vektor Format anzeigen/drucken
hallo xaromz
hattest du schon mal zeit zu schauen, ob dieser fehler behebbar ist? wenn nicht, werde ich mich wohl oder übel nach einem anderen format oder eine andere komponente umsehen müssen :( (nur sind die meisten SVG Komponenten nicht alleine erhältlich sondern immer in verbindung mit anderen CAD Komponenten und kosten dann gleich mal an die 1000 euro, und das ist eindeutig viel zu viel) ich brauche das ganze "nur", um eine druckvorlage zu machen, also, wenn ein Report gedruckt werden soll, dann soll zuvor auf jede A4 seite dieses SVG gedruckt werden, wo statische Informationen zum betrieb sind, daher ist mir das format eigetnlich egal, es sollte nur eines sein, was Linien und co kann, Schriften und Grafiken (PNG, JPG), aber das ganze sollte gleich aussehen wie in einem standardprogramm zb CorelDraw oder Illustrator, damit man sagen kann, CorelDraw aufmachen -> das ganze als SVG mit folgenden einstellungen speichern und dann siehts im program gleich aus! (und bei EMF und WMF geht das zb nicht) |
Re: Vektor Format anzeigen/drucken
Hallo,
ich habe mir das angesehen und konnte in meinem Quellcode keinen Fehler feststellen. Ich weiß also leider nicht, warum das anders aussieht als in anderen Programmen. Wenn ich was neues weiß, werde ich mich melden. Gruß xaromz |
Re: Vektor Format anzeigen/drucken
hab mir noch mal ein paar sachen angeschaut ...
die Höhe der Schrift passt 100% die y-Position der Schrift passt auch 100% aber schon die x-StartPosition also der linke wert der schrift passt absolut nicht (da ist ein versatz von 3mm drinnen) und dann noch die breite die statt 108.5mm 112mm hat (das mit einer Schrift mit Schriftgröße Arial 48) aber der linke versatz müsste doch etwas leichter zu finden sein oder? gibt es irgendwo eine dokumentation zu GDI+? hab mir mal den source etwas angeschaut, und die texte werden da ja mit TGPGraphicsPath.AddString ausgegeben, gibt es eine möglichkeit in GDI+ einen Text "ganz normal" auszugeben, also ohne Path einfach einen text an Position (x, y) auszugeben (vielleicht macht dieses Path da ein paar komische sachen mit dem text) edit: hab mir mal angeschaut, was da alles berechnet wird also ein Textfeld exportiert, und einen rahmen drumherumgemacht der rahmen hat genau die abmessungen von width="111.455" height="12.1121" das Textfeld bekommt bei SetSize die Werte (120,9 * 21,03) und FontHeight berechnet er auf 15,329 warum rechnet das MeasureText so einen großen Rahmen drum herum? -> deshalb sind die Startpsitionen schon mal falsch gibt es da noch wo einstellungen dafür? |
Re: Vektor Format anzeigen/drucken
@xaromz
ist es möglich den Text, der geladen wird zu stauchen? ich möchte probieren, ob es möglich ist, wenn ich den text immer mit einem faktor stauche (entweder fix oder fontheight oder fontsize abhängig) ob dann das richtige ergebnis rauskommt - wäre ein versuch? ich vermute mal ich muß da irgendwas mit der matrix machen oder? kannst mir vielleicht kurz den weg weisen ;) edit: also den offset von x bekomme ich so schon mal fast aufs pixel genau hin
Delphi-Quellcode:
FPath.AddString(FText, Length(FText), FF, FontStyle, GetFontSize, MakePoint(X - 18.5*(fFontHeight / 100), Y - FFontHeight), SF);
|
Re: Vektor Format anzeigen/drucken
tja, ich habe zwar absolut keine ahnung warum ich diese faktoren brauche (habe die jetzt mal mit testen rausbekommen) aber das ergebnis sieht schon mal zu 99% gut aus (ganz kleine abweichungen sind noch drinnen) - werde es noch mal mit mehr texte probieren
Delphi-Quellcode:
ich weiss, ich könnte die zwei translate zusammenfassen, aber so ist es wenigstens etwas übersichtlich ...
scale := 0.971;
M := TGPMatrix.Create; M.Reset; M.Translate(-0.184*fFontHeight, 0, MatrixOrderAppend); M.Scale(scale, 1, MatrixOrderAppend); M.Translate((1-scale)*(X), 0, MatrixOrderAppend); fPath.transform(M); M.Free; |
Re: Vektor Format anzeigen/drucken
Liste der Anhänge anzeigen (Anzahl: 2)
so .... ein großes problem habe ich mit dem text selber noch
und zwar wird bei dem Wort "Test" das e unterschiedlich weit zum T gezeichnet (bei Corel wird das e etwas ins T geschoben) bei GDI+ wird das e vom T weiter weggeschoben, das erklärt jetzt noch die Probleme mit verschiedenen Texten Ist das irgendeine Einstellung? also das die buchstaben nicht vom äussersten punkt berechnet werden sollen? hab die zwei screenshoots angehängt, damits klarer ist was ich meine ... |
Re: Vektor Format anzeigen/drucken
Hallo,
ein interessantes Selbstgespräch führst Du hier :wink: . Ich antworte mal auf ein paar Dinge: Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Ich schau mal, ob ich am Wochenende etwas Zeit habe, da noch gründlicher zu forschen. Gruß xaromz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz