【问题标题】:Core Plot: Creating a CPTImage with imageWithCGImage核心情节:使用 imageWithCGImage 创建 CPTImage
【发布时间】:2014-11-20 09:46:48
【问题描述】:

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

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"];

但是,当我运行应用程序时,它只显示了条形的轮廓,而没有显示填充图像:

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

前段时间我发了一篇文章,在那里我有类似的代码可以工作。在这里我使用 imageForPNGFile 但在这里尝试时返回 nil:Core Plot Gradient bars

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

编辑:

我刚刚在 iPad 2 模拟器上运行了它,它按预期工作。但是,在 iPad Air 模拟器上运行时,它不起作用。

【问题讨论】:

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


    【解决方案1】:

    设置图片的scale

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

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

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

    【讨论】:

    • 感谢这位埃里克。我找到了一个解决方案,可以为我要发布的较低视网膜屏幕使用更大的图像。但是,您的解决方案是对我的改进:-)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    相关资源
    最近更新 更多