Delphi-PRAXiS
Seite 7 von 10   « Erste     567 89     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Vektor Format anzeigen/drucken (https://www.delphipraxis.net/102812-vektor-format-anzeigen-drucken.html)

xaromz 19. Nov 2007 15:17

Re: Vektor Format anzeigen/drucken
 
Hallo,
Zitat:

Zitat von torud
Das nimmt irgendwie kein Ende. Jetzt findet er die DesignIntf.dcu nicht. Dann kann er mit GetFileVersion nix anfangen. Welches Package muss ich denn überhaupt compilieren und installieren??? Das mit D oder mit R am Ende!?

Die Packages brauchst Du beide. Das eine ist das Design-, das andere das Runtime-Package. Was das andere Problem angeht, so habe ich leider kein Delphi 6 und kann Dir deshalb leider nicht helfen :cry:.

Gruß
xaromz

torud 19. Nov 2007 15:21

Re: Vektor Format anzeigen/drucken
 
Naja aktuell hängt es ja nur noch am SVG-Image...

Gruber_Hans_12345 19. Nov 2007 15:41

Re: Vektor Format anzeigen/drucken
 
Zitat:

Zitat von torud
Naja aktuell hängt es ja nur noch am SVG-Image...

und bei was hängst jetzt aktuell?

der design...?

füge einfach mal die designide.dcp manuell in die requires packages ein

torud 19. Nov 2007 15:47

Re: Vektor Format anzeigen/drucken
 
So, ich habs. Ich habe einfach mal die Dateien, die noch fehlten in einer anderen Delphi-Version gesucht und gefunden und dann die pas und dcu´s in den Komponenten-Ordner kopiert, von wo aus ich compiliert und installiert habe. Nicht ganz sauber, aber zumindest die SVG-image funzt jetzt endlich!!!

Jetzt muss ich nur noch herausbekommen, wie ich den Inhalt zur Laufzeit drehen und skalieren kann...

//Nachtrag
Ganz so einfach scheint es doch nicht zu sein, denn ich kann zwar zur DesignTime ein TSvgImage auf meinem Form platzieren, aber das Projekt lässt sich natürlich nicht kompilieren, da er mit der anderen SysUtils nicht klarkommt...

[Fehler] SysUtils.pas(16): Ungültige Compileranweisung: 'UNSAFE_TYPE'
[Fehler] SysUtils.pas(745): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(752): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(803): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(809): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(815): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(821): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(827): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(833): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(883): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(893): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(1034): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(1039): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(1067): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(1078): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(1169): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(1185): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(1191): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(2197): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(2199): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(2205): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(2207): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(2215): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(2217): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(2397): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(2652): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(2661): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(2679): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(2681): Deklaration erwartet, aber 'INLINE' gefunden
[Fehler] SysUtils.pas(6600): Undefinierter Bezeichner: 'VarToLStrProc'
[Fehler] SysUtils.pas(6600): Inkompatible Typen
[Fehler] SysUtils.pas(6601): Undefinierter Bezeichner: 'VarToLStrProc'
[Fehler] SysUtils.pas(7799): Undefinierter Bezeichner: 'VarToWStrProc'
[Fehler] SysUtils.pas(7799): Inkompatible Typen
[Fehler] SysUtils.pas(7800): Undefinierter Bezeichner: 'VarToWStrProc'
[Fehler] SysUtils.pas(13566): Undefinierter Bezeichner: 'SAccessViolationNoArg'
[Warnung] SysUtils.pas(13569): Symbol 'EStackOverflow' wird abgelehnt
[Fehler] SysUtils.pas(13574): Undefinierter Bezeichner: 'SVarInvalid'
[Fehler] SysUtils.pas(13829): Undefinierter Bezeichner: 'SAccessViolationArg3'
[Fehler] SysUtils.pas(14629): Undefinierter Bezeichner: 'CSTR_EQUAL'
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'SysUtils.pas' kann nicht compiliert werden

Gruber_Hans_12345 19. Nov 2007 18:33

Re: Vektor Format anzeigen/drucken
 
@xaromz: habe noch eine frage

warum ist es eigentlich so, das wenn du einen text ausgibst, diesen immer gleich in einen Pfad umwandelst?
Geht das nur so?

Bin gerade dabei, das ich die SVG Grafik in ein PDF exportiere, und da verliere ich dann natürlich alle Text informationen, da die ja schon beim importieren in pfade gewandelt werden ... ich weiss zwar noch nicht, wie und was die pdf export engine dazu sagt, wenn ich mal einen GDI+ Text ausgebe, aber im moment hat ja noch nicht mal ein Adobe Acrobat eine chance, das ganze als text zu generieren ...

torud 19. Nov 2007 19:06

Re: Vektor Format anzeigen/drucken
 
Könnte mir nicht geholfen werden, indem ich schon vorkompilierte DCU´s nutze???

Gruber_Hans_12345 19. Nov 2007 20:29

Re: Vektor Format anzeigen/drucken
 
Zitat:

Zitat von Gruber_Hans_12345
@xaromz: habe noch eine frage

warum ist es eigentlich so, das wenn du einen text ausgibst, diesen immer gleich in einen Pfad umwandelst?
Geht das nur so?

Also geht auch anders, habe es hinbekommen, und sieht schon mal ganz gut aus ...

in der TKerningText.AddToGraphics ist noch ein Fehler drinnen, da muß das PrepareKerning mit dem Faktor verwendet werden, sonst passt der gezeichnete Text mit Kerning nicht ... (ist der abstand falsch)
Delphi-Quellcode:
function TKerningText.AddToGraphics(const Graphics: TGPGraphics;
  const Text: WideString; const Font: TGPFont; Origin: TGPPointF;
  const Format: TGPStringFormat; const Brush: TGPBrush): TStatus;
var
  P1, P2: PWideChar;
  Status: TStatus;
begin
  Status := Ok;
  if Text = '' then
  begin
    Result := Ok;
    Exit;
  end;
 
  PrepareKerning(Font, Graphics, TRUE); <<< hier gehört TRUE
und hier ist meine PaintToGraphics

Delphi-Quellcode:
procedure TSVGText.PaintToGraphics(Graphics: TGPGraphics);
var
  SF: TGPStringFormat;
  f : TGPFont;
  brush : TGPBrush;
  pointF   : TGPPointF;
  TGP : TGPMatrix;
  ClipRoot: TSVGBasic;
begin
  if FText = '' then
    Exit;

{$IFDEF DONT_USE_TEXT}
  inherited;
{$ELSE}
  SF := TGPStringFormat.Create(TGPStringFormat.GenericTypographic);
  SF.SetFormatFlags(StringFormatFlagsMeasureTrailingSpaces);

  pointF := MakePoint(X, Y - FFontHeight);

  f    := GetFont;
  try
    if Assigned(FClipPath) then
    begin
      if ClipURI <> '' then
      begin
        ClipRoot := TSVGBasic(GetRoot.FindByID(ClipURI));
        if Assigned(ClipRoot) then
        begin
          TGP := GetGPMatrix(ClipRoot.Matrix);
          Graphics.SetTransform(TGP);
          TGP.Free;
        end;
      end;
      try
        Graphics.SetClip(FClipPath);
      except
      end;
      Graphics.ResetTransform;
    end;

    TGP := GetGPMatrix(Matrix);
    Graphics.SetTransform(TGP);
    TGP.Free;

    Brush := GetFillBrush;
    if Assigned(Brush) and (Brush.GetLastStatus = OK) then
    try
        KerningText.AddToGraphics(Graphics, FText, f, pointF, SF, brush);
    finally
      Brush.Free;
    end;
  finally
    Graphics.ResetTransform;
    Graphics.ResetClip;
  end;
  f.Free;
  SF.Free;
{$ENDIF}
end;

Gruber_Hans_12345 19. Nov 2007 20:31

Re: Vektor Format anzeigen/drucken
 
Zitat:

Zitat von torud
Könnte mir nicht geholfen werden, indem ich schon vorkompilierte DCU´s nutze???

wenn du mir sagst, welche dcu du benötigst, kann ich dir die schon irgendwie zukommen lassen ...
aber bei mir hat es mit D6 eigentlich fast keine probs beim installieren gegeben, den einen fehler in den widestrings raus, die requiered units ausmisten und dann lief das ganze schon fast ohne probs ...

xaromz 19. Nov 2007 23:00

Re: Vektor Format anzeigen/drucken
 
Hallo,
Zitat:

Zitat von Gruber_Hans_12345
warum ist es eigentlich so, das wenn du einen text ausgibst, diesen immer gleich in einen Pfad umwandelst?
Geht das nur so?

Das geht natürlich auch anders. Aber es ist so, dass in SVG Füllung und Rahmen einzeln definiert werden, und das ist nur mit Pfaden möglich.

Zitat:

Zitat von Gruber_Hans_12345
Bin gerade dabei, das ich die SVG Grafik in ein PDF exportiere, und da verliere ich dann natürlich alle Text informationen, da die ja schon beim importieren in pfade gewandelt werden ... ich weiss zwar noch nicht, wie und was die pdf export engine dazu sagt, wenn ich mal einen GDI+ Text ausgebe, aber im moment hat ja noch nicht mal ein Adobe Acrobat eine chance, das ganze als text zu generieren ...

GDI+-Texte sind im PDF kein Problem, schwierig wird's mit transparenten Texten. Die werden nämlich als Bitmap gezeichnet.

Zitat:

Zitat von Gruber_Hans_12345
in der TKerningText.AddToGraphics ist noch ein Fehler drinnen, da muß das PrepareKerning mit dem Faktor verwendet werden, sonst passt der gezeichnete Text mit Kerning nicht ... (ist der abstand falsch)

Nein, das False ist schon richtig an der Stelle. Wenn da ein True steht, werden bei mir die Buchstaben ineinander gezeichnet.

Gruß
xaromz

Gruber_Hans_12345 20. Nov 2007 07:33

Re: Vektor Format anzeigen/drucken
 
Zitat:

Zitat von xaromz
Zitat:

Zitat von Gruber_Hans_12345
in der TKerningText.AddToGraphics ist noch ein Fehler drinnen, da muß das PrepareKerning mit dem Faktor verwendet werden, sonst passt der gezeichnete Text mit Kerning nicht ... (ist der abstand falsch)

Nein, das False ist schon richtig an der Stelle. Wenn da ein True steht, werden bei mir die Buchstaben ineinander gezeichnet.

Gruß
xaromz

nein, ich habe es bei mir umgetellt, das ich texte immer direkt zeichnen lasse, damit die textinformationen im PDF erhalten bleiben, und wenn ich da FALSE drinnen lasse, dann habe ich statt 2mm abstand auf einmal 2cm abstand, gebe ich true rein, dann passt die asugabe 100% (genau so, wie wenn ich die text zuerst in pfade wandle)

edit: was dann natürlich nicht mehr funktioniert, ist wenn das SVG gestrecht werden soll, DANN werden wirklich die buchstaben übereinandergezeichnet ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:18 Uhr.
Seite 7 von 10   « Erste     567 89     Letzte »    

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