позвольте мне прежде всего отметить, что я абсолютно не знаю, что я делаю с целью-c и разработкой Mac (хотя я в порядке с c). Я сделал удивительно простую графическую утилиту на леопарде с привязкой Quartz-2d для python:
http://developer.apple.com/graphicsimaging/pythonandquartz.html
, который в основном вводит текстовый файл и записывает хороший файл png (это утилита командной строки). Я был счастлив, как свинья в грязи, пока я не перенес утилиту на наши серверы снежного барса и обнаружил, что с CoreGraphics и 32-битным питоном на снежном барсе были всевозможные проблемы. Некоторые из этих проблем разрешимы, а некоторые нет. Итак, я пытаюсь перенести этот простой служебный скрипт на target-c (я полагаю, на C) и столкнулся с несколькими проблемами. Кто-нибудь еще знает, есть ли хороший пример, почти такой же, как приведенный в python и кварце, но все в нативном коде?
Моя основная проблема - запись графического контекста в файл
myBitmapContext = MyCreateBitmapContext (400, 300);
CGContextSetRGBFillColor (myBitmapContext, 1, 0, 0, 1);
CGContextFillRect (myBitmapContext, CGRectMake (0, 0, 200, 100 ));
CGContextSetRGBFillColor (myBitmapContext, 0, 0, 1, .5);
CGContextFillRect (myBitmapContext, CGRectMake (0, 0, 100, 200 ));
CGImageRef myImage = CGBitmapContextCreateImage (myBitmapContext);// 5
CGContextDrawImage(myBitmapContext, myBoundingBox, myImage);// 6
char *bitmapData = CGBitmapContextGetData(myBitmapContext); // 7
// I'd like to write to a file here!
CGContextRelease (myBitmapContext);// 8
if (bitmapData) free(bitmapData); // 9
CGImageRelease(myImage);
MyCreateBitmapContext - это простая функция из справочника Apple по кварцу 2d .
TL; DR У кого-нибудь есть порт C демонстрационной версии python, приведенной в ссылке выше?