BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- C Gtk: farbige Rechtecke zeichnen (http://www.black-board.net/thread.php?threadid=23565)


Geschrieben von mortrin6 am 26.11.2008 um 00:52:

Fragezeichen Gtk: farbige Rechtecke zeichnen

Hallo an alle surfer,
bitte um Hilfe

ich habe folgende fkt in c/Gtk2.0:
gdk_draw_rectangle (pixmap,
widget->style->black_gc,
TRUE, update_rect.x,
update_rect.y,
update_rect.width,
update_rect.height );

mein Problem, dass die Rechtecke in schwarz sind, aber ich möchte die in andere farben haben wie rot zum Beispiel. Ich weiss, dass style nur farben schwarz, weiss und light hat, aber kann man diese manipulieren sodass sie rot malt?
Oder kann ich diese funktion durch eine andere tauschen aber die Parameter weiter so behalten?

vielen Dank



Geschrieben von phlox81 am 26.11.2008 um 09:39:

 

Von welchem typen ist denn black_gc?
Normalerweise übergibt man da ein Farbwert(RGB z.b.).



Geschrieben von mortrin6 am 26.11.2008 um 16:33:

 

Hallo
vielen Dank für die reaktion.

die funktion ist:
.. rectangle(widget, gc,...);

gc soll vom Typ GdkGC *gc; damit ich eine andere farbe rein kriegen, und das ist das Problem, "style", was in meiner Funktion, hat NUR style->black_gc
->white_gc oder
->light_gc
und wenn ich so etwas wie:
GdkGC *gc;
GdkColor color;
color.red = red*65xxx; oder einfach color.rec = 0xE89.. (hex); deklariere, kann das nicht in meine Funktion als parameter übergeben, da wie zu sehen ist nicht typVerträglich sind. ich weiss leider nicht wie ich es überwenden soll.
Und eine andere Funktion, womit ich einfach die selbe Parameter benutze, aber statt style GdkGC einfach einsetze finde (weiss )ich leider nicht.

ich möchte eigentlich so was malen
######
######
###### (rechtecke (insgesamt zu raster))
und jede einzelne eine bestimmte farbe zuweisen, habe ich die auch geschafft, aber leider sind alle in schwarz.
hoffe das war nicht lang beschrieben aber auch nicht zu kurz.

vielen Dank



Geschrieben von phlox81 am 26.11.2008 um 19:36:

 

Also, das man da einen GC übergibt, ist ja logisch, auf irgendwas muss man ja zeichnen.
Gibt es evtl. noch einen Parameter für die Farbe?

Ansonsten könnte dies hier noch interessant sein:
http://www.gtk.org/tutorial1.2/

phlox



Geschrieben von Misel am 26.11.2008 um 22:47:

 

Was Du bisher nicht bedacht hast, ist der Unterschied zwischen Gdk (GIMP Drawing Kit) und GTK (GIMP Toolkit).

Letzteres ist dazu da, ein UI zu generieren, also Buttons, Labels, Eingabefelder etc. Um diese Objekte auf den Bildschirm zu zaubern, benutzt es GDK. Damit werden primitive Figuren, wie Linien, Kreise, Rechtecke gezeichnet.

Deshalb willst Du wohl eher auf GDK zurückgreifen. Dazu brauchst Du in Deinem GTK-UI ein Drawable-Widget. Auf dem kannst Du dann mit Hilfe von gdk_draw_rectangle() ein Rechteck nach Deinen Wünschen - also auch in bunt malen.

Ich hoffe, das hilft erstmal weiter smile



Geschrieben von mortrin6 am 27.11.2008 um 02:25:

 

Hi,
vielen vielen Dank für die Hilfe.
aber anschient das Problem ist komplizierter als ich dachte. Ich habe letzte Woche nur damit verbracht, und alle Links, die Ihr mir geschickt habt kenne ich bereits schon. Bitte wenn jemand eine konkrete Antwort hätte....
gdk_draw_rectangle (pixmap,
widget->style->black_gc,
TRUE, update_rect.x,
update_rect.y,
update_rect.width,
update_rect.height );
Bitte diese Funktion malt schwarz, kann jemand die so umschreiben, so dass die andere Farbe z.b rot, gelb oder grün.... malt?
Bitte ich brauch konkrete Antwort, und bitte die farbe soll auch deklariert sein.
Ich kann einfach nicht weiter kommen.

Vielen Dank noch mals



Geschrieben von Misel am 27.11.2008 um 09:12:

 

Schon mal diese beiden Funktionen gecheckt?

gdk_gc_set_background ()
gdk_gc_set_rgb_bg_color ()


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH