首先让我注意到我完全不知道我在用objective-c和mac开发做什么(尽管我对c很好)。我使用 Quartz-2d 绑定 python 在 leopard 上制作了一个非常简单的图形实用程序:
http://developer.apple.com/graphicsimaging/pythonandquartz.html
基本上输入一个文本文件并编写一个漂亮的 png 文件(它是一个命令行实用程序)。在我将实用程序移至我们的雪豹服务器并发现 CoreGraphics 和雪豹上的 32 位 python 存在各种问题之前,我很高兴。这些问题有些是可以解决的,有些则不是。所以,我试图将这个简单的实用程序脚本移植到objective-c(真的是CI假设)并遇到一些问题。有没有人知道是否有一个很好的例子,几乎与python和quartz中给出的例子完全一样,但都是本机代码?
我的主要问题是将图形上下文写入文件
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's guide on quartz 2d中的一个简单函数。
TL;DR 有人有上面链接中给出的 python 演示的 C 端口吗?