в процессе портирования sylpheed на gtk3 понадобилось преобразовывать представление цветов из GdkColor в GdkRGBA. в результате написал небольшую тулзинку. может, кому и пригодится
1 /* 2 * Output GdkRGBA representation of specified color 3 * 4 * compile: gcc -pipe -O2 -o rgba $(pkg-config --cflags --libs gdk-3.0) rgba.c 5 */ 6 7 #include <gdk/gdk.h> 8 9 int 10 main (int argc, char *argv[]) 11 { 12 GdkRGBA color; 13 14 if (argc < 2) 15 { 16 fprintf (stderr, "Usage: rgba <colorspec>\n"); 17 return 1; 18 } 19 20 if (!gdk_rgba_parse (&color, argv[1])) 21 { 22 fprintf (stderr, "Unable to parse color %s\n", argv[1]); 23 return 1; 24 } 25 26 printf ("{%.3f, %.3f, %.3f, %.3f}\n", color.red, color.green, color.blue, color.alpha); 27 28 return 0; 29 }