У меня было такое же требование, как и у вас:
Я хочу нарисовать некоторые базовые 2D-фигуры и хочу, чтобы прозрачный элемент
некоторые фигуры перекрываются.
После того, как я прочитал документ Каира, я обнаружил, что есть довольно много концепций, которые нужно запомнить.
Поэтому я сделал свой собственный поиск и нашел PNGwriter .
Хотя немного устарело, что мне нужно немного изменить исходный код, чтобы он компилировался с libpng1.4, синтаксис очень интуитивно понятен и это именно то, что мне нужно.
Например, вы рисуете заполненный прямоугольник с pngwritter::filledcircle
.
Посмотрите на пример построения математической функции:
http://pngwriter.sourceforge.net/quickstart-en.php
#include <pngwriter.h>
int main()
{
int i;
int y;
pngwriter png(300,300,0,"test.png");
for(i = 1; i < 300;i++)
{
y = 150+100*sin((double)i*9/300.0);
png.plot(i,y, 0.0, 0.0, 1.0);
}
png.close();
return 0;
}
Результат:
Mac OS X 10.6.7 поставляется с freetype и libpng, все что вам нужно сделать, чтобы обновить
источник в соответствии с ошибкой компиляции, просто несколько быстрых хаков.