核心图:使用imageWithCGImage创建CPTImage

时间:2014-11-20 09:46:48

标签: ios objective-c gradient core-plot cptimage

我正在尝试在核心图中创建一个带渐变的条形图。我有以下代码:

UIImage *img = [UIImage imageNamed:@"orange_bar_graph"];

CPTImage *image = [CPTImage imageWithCGImage:img.CGImage];
image.tiled = NO;
CPTFill *areaFill = [CPTFill fillWithImage:image];

CPTBarPlot *plotOne = [[CPTBarPlot alloc] init];
plotOne.fill = areaFill;
plotOne.identifier = identifer[@"plotOne"];

然而,当我运行应用程序时,它只显示条形的轮廓并且未显示填充图像: enter image description here

如果我放置断点,则表明图像已成功创建,并且变量areaFill不是nil。

我做了一段时间的帖子,我有类似的代码工作。在这里我使用imageForPNGFile,但在这里尝试时只返回nil:Core Plot Gradient bars

但是我似乎无法在这里工作。

编辑:

我刚刚在iPad 2模拟器上运行它,它按预期工作。但是,当在iPad Air模拟器上运行时,它无法正常工作。

1 个答案:

答案 0 :(得分:1)

设置图像的scale

CPTImage *image = [CPTImage imageWithCGImage:img.CGImage scale:img.scale];

如果您使用的是最新的Core Plot代码(1.5.1版之后),您可以直接加载图像:

CPTImage *image = [CPTImage imageNamed:@"orange_bar_graph"];