Cairo beispiele
- Roland Chastain
- Beiträge: 169
- Registriert: Sa 7. Jul 2012, 21:50
- Wohnort: Saargemünd
- Kontaktdaten:
Cairo beispiele
Guten Tag !
Ich suche einfache cairo Beispiele für FreePascal. Bis Heute habe ich nichts gefunden.
Hätten Sie bitte ein oder zwei Code Stücke für mich ?
Danke !
Ich suche einfache cairo Beispiele für FreePascal. Bis Heute habe ich nichts gefunden.
Hätten Sie bitte ein oder zwei Code Stücke für mich ?
Danke !
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Pourvu que Dieu lui prête vie.
Re: Cairo beispiele
Wozu brauchst du denn das? Und wo ist das Problem?
Ich habe keine Ahnung davon, aber hier gibt es ein Beispiel, das läuft doch.
http://free-pascal-general.1045716.n5.n ... 16347.html
Ich habe keine Ahnung davon, aber hier gibt es ein Beispiel, das läuft doch.
http://free-pascal-general.1045716.n5.n ... 16347.html
Code: Alles auswählen
program Project1;
uses
Cairo;
const
IMAGE_WIDTH = 256;
IMAGE_HEIGHT = 256;
var
surface: Pcairo_surface_t;
cr: Pcairo_t;
procedure do_arc(cr: PCairo_t; Width, Height: integer);
var
xc: double;
yc: double;
radius: double;
angle1: double;
angle2: double;
begin
xc := 0.5;
yc := 0.5;
radius := 0.4;
angle1 := 45.0 * (PI / 180.0); (* angles are specified *)
angle2 := 180.0 * (PI / 180.0); (* in radians *)
cairo_scale(cr, Width, Height);
cairo_set_line_width(cr, 0.04);
cairo_arc(cr, xc, yc, radius, angle1, angle2);
cairo_stroke(cr);
(* draw helping lines *)
cairo_set_source_rgba(cr, 1, 0.2, 0.2, 0.6);
cairo_arc(cr, xc, yc, 0.05, 0, 2 * PI);
cairo_fill(cr);
cairo_set_line_width(cr, 0.03);
cairo_line_to(cr, xc, yc);
cairo_line_to(cr, xc, yc);
cairo_stroke(cr);
end;
begin
surface := cairo_image_surface_create(CAIRO_FORMAT_ARGB32, IMAGE_WIDTH, IMAGE_HEIGHT);
cr := cairo_create(surface);
cairo_save(cr);
do_arc(cr, IMAGE_WIDTH, IMAGE_HEIGHT);
cairo_restore(cr);
cairo_surface_write_to_png(surface, 'testcairobug1.png');
cairo_destroy(cr);
cairo_surface_destroy(surface);
end.
- Roland Chastain
- Beiträge: 169
- Registriert: Sa 7. Jul 2012, 21:50
- Wohnort: Saargemünd
- Kontaktdaten:
Re: Cairo beispiele
Danke für deine Antwort. Ich habe eine Benutzeroberfläche für ein Vier-Gewinnt in FreeBasic gemacht, und ich möchte eine Pascal version machen. So ich brauche : 1° eine grafische Fenster öffnen ; 2° eine Platte zeichnen.theo hat geschrieben:Wozu brauchst du denn das? Und wo ist das Problem?
Danke für den PNG Beispiel.
- Dateianhänge
-
- four-video.png (14.16 KiB) 1410 mal betrachtet
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Pourvu que Dieu lui prête vie.
Re: Cairo beispiele
Und warum benützt du nicht einfach Lazarus Grafik dazu?
- Roland Chastain
- Beiträge: 169
- Registriert: Sa 7. Jul 2012, 21:50
- Wohnort: Saargemünd
- Kontaktdaten:
Re: Cairo beispiele
Ja, wahrscheinlich werde ich das machen.theo hat geschrieben:Und warum benützt du nicht einfach Lazarus Grafik dazu?
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Pourvu que Dieu lui prête vie.
Re: Cairo beispiele
Ich hatte hier mal ein Beispiel gemacht, wie man ein Schachbrettmuster zeichnet:
http://www.lazarusforum.de/viewtopic.php?p=53064#p53064
Einfach in das OnPaint Ereignis des Formulars einhängen.
Vielleicht hilft dir das als Startpunkt.
http://www.lazarusforum.de/viewtopic.php?p=53064#p53064
Einfach in das OnPaint Ereignis des Formulars einhängen.
Vielleicht hilft dir das als Startpunkt.
- Roland Chastain
- Beiträge: 169
- Registriert: Sa 7. Jul 2012, 21:50
- Wohnort: Saargemünd
- Kontaktdaten:
Re: Cairo beispiele
Ja, das hilft mir. Danke !theo hat geschrieben:Vielleicht hilft dir das als Startpunkt.
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.
Pourvu que Dieu lui prête vie.