Kardioide (PTCPas und Cairo Beispiel)
- Roland Chastain
- Beiträge: 186
- Registriert: Sa 7. Jul 2012, 21:50
- Wohnort: Saargemünd
- Kontaktdaten:
Kardioide (PTCPas und Cairo Beispiel)
Hallo zusammen!
Ich möchte Ihnen ein Beispiel für eine Animation zeigen, die auf PTCPas und Cairo basiert.
Drücken Sie eine Taste, um das Programm zu schließen.
Ich möchte Ihnen ein Beispiel für eine Animation zeigen, die auf PTCPas und Cairo basiert.
Drücken Sie eine Taste, um das Programm zu schließen.
- Dateianhänge
-
- screenshot.png (24.14 KiB) 406 mal betrachtet
-
ptcpas-cairo-example.zip- (1.73 KiB) 237-mal heruntergeladen
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Pourvu que Dieu lui prête vie.
-
Mathias
- Beiträge: 7164
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Kardioide (PTCPas und Cairo Beispiel)
Ich habe es gerade probiert. Unter Linux läuft es in einem Fenster, mit wine geht es ins Vollbild,
Mit ptc habe ich noch nie etwas gemacht, aber sicher auch eine Möglichkeit um einen Framebuffer zu erzeugen.
Was ich echt cool finde, wie du die Schnittpunkte berechnest.
Mit ptc habe ich noch nie etwas gemacht, aber sicher auch eine Möglichkeit um einen Framebuffer zu erzeugen.
Was ich echt cool finde, wie du die Schnittpunkte berechnest.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- AlterPascaler
- Beiträge: 105
- Registriert: Mo 26. Jun 2023, 18:56
- OS, Lazarus, FPC: Linux, Lazarus, Free Pascal
- CPU-Target: xxBit
- Wohnort: Deutschland, NRW
Re: Kardioide (PTCPas und Cairo Beispiel)
Hallo,
kann mir mal jemand helfen?
nach dem Aufruf von make bekomme ich die Fehlermeldung:
Wenn ich das über die IDE kompiliere läuft es auch bei mir.
Bei mir fehlte noch die "libXxf86dga", nach installiert, fertig.
Wie macht ihr das über make.
kann mir mal jemand helfen?
nach dem Aufruf von make bekomme ich die Fehlermeldung:
Code: Alles auswählen
Fatal: Can't find unit system used by Cardioid1
Fatal: Compilation aborted
Error: /laza/4.fixes/fpc/bin/x86_64-linux/ppcx64 returned an error exitcode
Bei mir fehlte noch die "libXxf86dga", nach installiert, fertig.
Wie macht ihr das über make.
Viele Grüße
AlterPascaler
AlterPascaler
-
Mathias
- Beiträge: 7164
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Kardioide (PTCPas und Cairo Beispiel)
Ich gebe es zu, habe die pas einfach in die IDE kopiert und F9 gedrückt.Wenn ich das über die IDE kompiliere läuft es auch bei mir.
Bei mir fehlte noch die "libXxf86dga", nach installiert, fertig.
make geht bei mir auch nicht.
Code: Alles auswählen
$ make
Free Pascal Compiler version 3.2.2+dfsg-32 [2024/01/05] for x86_64
Copyright (c) 1993-2021 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling cardioid1.pas
cardioid1.pas(12,13) Fatal: Can't find unit ptc used by Cardioid1
Fatal: Compilation aborted
Error: /usr/bin/ppcx64 returned an error exitcode
make: *** [Makefile:8: cardioid1] Fehler 1Wen man schon cairo hat, wie in dem Beispiel, dann am besten mit GTK ausgeben.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- Roland Chastain
- Beiträge: 186
- Registriert: Sa 7. Jul 2012, 21:50
- Wohnort: Saargemünd
- Kontaktdaten:
Re: Kardioide (PTCPas und Cairo Beispiel)
Mein erster Gedanke ist, dass der Compiler seine Konfigurationsdatei nicht finden kann.AlterPascaler hat geschrieben: Mo 12. Jan 2026, 13:21 nach dem Aufruf von make bekomme ich die Fehlermeldung:
Sind mehrere Versionen von FPC auf Ihrem Computer installiert?
Welchen Rückgabewert liefert der Befehl which fpc auf Ihrem System?
Bei mir:
$ which fpc
/usr/bin/fpc
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Pourvu que Dieu lui prête vie.
-
Mathias
- Beiträge: 7164
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Kardioide (PTCPas und Cairo Beispiel)
Kommt bei mir auch. Aber ich verwende per default das fpc/lazarus was ich mit fpcupdeluxe installiert habe.
Code: Alles auswählen
which fpc
/usr/bin/fpcMit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- Roland Chastain
- Beiträge: 186
- Registriert: Sa 7. Jul 2012, 21:50
- Wohnort: Saargemünd
- Kontaktdaten:
Re: Kardioide (PTCPas und Cairo Beispiel)
Um zu überprüfen, ob es sich tatsächlich um das Problem handelt, das ich vermute (oder nicht), schlage ich vor, dass Sie das folgende Skript ausprobieren.
Das Skript startet FPC mit dem Pfad zur Konfigurationsdatei und der Option -n, sodass FPC alle anderen möglicherweise im System vorhandenen Konfigurationsdateien ignoriert.
Vergessen Sie nicht, die Variablenwerte zu ersetzen!
Ich habe dieses Skript test.sh genannt und führe es folgendermaßen aus:
Code: Alles auswählen
FPC=~/Applications/lazarus-stable-251116/fpc/bin/x86_64-linux/fpc
CFG=$FPC.cfg
SRC=beispiel.pas
if [ ! -f $FPC ]; then
printf "Existiert nicht: %s\n" $FPC
exit 1
fi
if [ ! -f $CFG ]; then
printf "Existiert nicht: %s\n" $CFG
exit 1
fi
if [ ! -f $SRC ]; then
printf "Existiert nicht: %s\n" $SRC
exit 1
fi
$FPC @$CFG -n $SRCVergessen Sie nicht, die Variablenwerte zu ersetzen!
Ich habe dieses Skript test.sh genannt und führe es folgendermaßen aus:
Code: Alles auswählen
$ sh test.shPetit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Pourvu que Dieu lui prête vie.
-
Soner
- Beiträge: 772
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Kardioide (PTCPas und Cairo Beispiel)
Also wer das als Windows-Benutzer mal anschauen möchte, dann kann er das fertiges Programm in den Ordner "Inkscape/bin" verschieben und dort starten, natürlich wenn man Inkscape installiert hat. Dann braucht man keine Cairo- oder GTK-Libs zu suchen.
-
Mathias
- Beiträge: 7164
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Kardioide (PTCPas und Cairo Beispiel)
Ich sehe nicht, was Inkscape für einen Vorteil gegenüber cairo haben soll, ausser man hat eine statische Vektor Grafik.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- af0815
- Lazarusforum e. V.
- Beiträge: 7062
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Kardioide (PTCPas und Cairo Beispiel)
Ich gehe davon aus, das bei der Methode von Soner einfach die nötigen Libs einfach vorhanden sind, da Inkscape die installiert hat. Für einen schnellen Test sicher ganz Ok.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- Roland Chastain
- Beiträge: 186
- Registriert: Sa 7. Jul 2012, 21:50
- Wohnort: Saargemünd
- Kontaktdaten:
Re: Kardioide (PTCPas und Cairo Beispiel)
Ja, die Installation von Inkscape ist eine Möglichkeit, die Cairo-DLL(s) unter Windows zu erhalten.
Um unter Windows (von einem USB-Laufwerk) zu arbeiten, verwende ich persönlich dieses kleine Skript, das den Speicherort der benötigten DLLs zur PATH-Variable hinzufügt und ein Terminal öffnet:
Um unter Windows (von einem USB-Laufwerk) zu arbeiten, verwende ich persönlich dieses kleine Skript, das den Speicherort der benötigten DLLs zur PATH-Variable hinzufügt und ein Terminal öffnet:
Code: Alles auswählen
@echo off
set PATH=%~d0\path\to\inkscape\bin;%PATH%
%COMSPEC%Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Pourvu que Dieu lui prête vie.
-
Mathias
- Beiträge: 7164
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Kardioide (PTCPas und Cairo Beispiel)
Da gibt es mehrere Varianten. GIMP kann man ach installieren.Ja, die Installation von Inkscape ist eine Möglichkeit, die Cairo-DLL(s) unter Windows zu erhalten.
Oder eine professionelle Variante, über MSYS2, da bekommt man fast alle DLL, welche opensource sind.
Oder ein fedora Linux in einer Distrobox ist auch ein guter DLL Lieferant.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- AlterPascaler
- Beiträge: 105
- Registriert: Mo 26. Jun 2023, 18:56
- OS, Lazarus, FPC: Linux, Lazarus, Free Pascal
- CPU-Target: xxBit
- Wohnort: Deutschland, NRW
Re: Kardioide (PTCPas und Cairo Beispiel)
Moin,
Und so geht's auch mit make.
Meine Installation ist unter Linux mit fpcupdeluxe. Habe den Pfad nach "fpc" in "$PATH" (~MyLazaInstall/4.fixes/fpc/bin/x86_64-linux/) gespeichert.
In der make Datei eine kleine Änderung vorgenommen.
Aus "fpc" wurde "fpc.sh".
In "fpc.sh" steht der Pfad zur "fpc.cfg".
Wenn man es fertig hat, ist es oft so einfach!
das Script funktioniert, guter Hinweis.Roland Chastain hat geschrieben: Mo 12. Jan 2026, 20:20 Um zu überprüfen, ob es sich tatsächlich um das Problem handelt, das ich vermute (oder nicht), schlage ich vor, dass Sie das folgende Skript ausprobieren.
Und so geht's auch mit make.
Meine Installation ist unter Linux mit fpcupdeluxe. Habe den Pfad nach "fpc" in "$PATH" (~MyLazaInstall/4.fixes/fpc/bin/x86_64-linux/) gespeichert.
In der make Datei eine kleine Änderung vorgenommen.
Code: Alles auswählen
SOURCES := $(wildcard *.pas)
TARGETS := $(SOURCES:%.pas=%)
all: $(TARGETS)
%: %.pas
@fpc.sh -Mobjfpc -Sh -ghl $<
Aus "fpc" wurde "fpc.sh".
In "fpc.sh" steht der Pfad zur "fpc.cfg".
Wenn man es fertig hat, ist es oft so einfach!
Viele Grüße
AlterPascaler
AlterPascaler
- Roland Chastain
- Beiträge: 186
- Registriert: Sa 7. Jul 2012, 21:50
- Wohnort: Saargemünd
- Kontaktdaten:
Re: Kardioide (PTCPas und Cairo Beispiel)
@AlterPascaler
Gut! Danke für den Tipp bezüglich der fpc.sh-Datei.
Gut! Danke für den Tipp bezüglich der fpc.sh-Datei.
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Pourvu que Dieu lui prête vie.