首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将图像剪辑到核心图CPTBarPlot中条形图条的边框

将图像剪辑到核心图CPTBarPlot中条形图条的边框
EN

Stack Overflow用户
提问于 2014-05-22 10:01:08
回答 1查看 305关注 0票数 0

在我的代码中,用图像代替数据标签,使用CPTPlotSpaceAnnotaions在条形图的每个条形图的中心显示。图像放置在中心,工作良好,但如果图像被放大,它就会延伸到酒吧外面。我要把它切到吧台的宽度。

图像是用

代码语言:javascript
复制
CPTBorderedLayer *borderedLayerObject =[[CPTBorderedLayer alloc] initWithFrame:CGRectMake(0, 0, 52, 52)];
borderedLayerObject.fill = [CPTFill fillWithImage:cptimage];

NSArray *anchorPoint = [NSArray arrayWithObjects:xPosition, yPosition, nil];
CPTPlotSpaceAnnotation *imageAnnotation = [[CPTPlotSpaceAnnotation alloc]initWithPlotSpace:graph.defaultPlotSpace anchorPlotPoint:anchorPoint];
imageAnnotation.contentLayer = borderedLayerObject;
[graph.plotAreaFrame addAnnotation:imageAnnotation];
return imageAnnotation;

这个borderedLayerObject被设置为contentLayer of CPTPlotSpaceAnnotation,并返回CPTPlotSpaceAnnotation对象.

我画的图像采用borderedLayerObject的帧大小,并将其放置在条形图中,所以我无法理解如何裁剪我绘制的图像.

使用CPTPlotSpaceAnnotation是因为我需要在条形图的中心显示图像,使用锚点,我给出了x和y的位置,图像必须显示在条形图的条形图中。请帮我找到解决办法..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-22 23:17:00

很容易确定棒子的宽度。如果barWidthsAreInViewCoordinatesYES,则由barWidth属性给出宽度。否则,您必须使用绘图空间将数据坐标转换为像素。挑选两个barWidth单位,沿着垂直于条形线的轴线(例如,垂直条的x轴),将它们转换成与绘图空间相对应的坐标,并从转换点中找出宽度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23803610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档