CoreGraphics/石英阴影

发布于 2024-10-16 18:45:49 字数 783 浏览 3 评论 0原文

我目前正在 iPhone 上使用 CoreGraphics/Quartz CGContextAddLineToPoint 函数绘制正弦曲线:

CGContextRef _context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(_context, 6.0);
CGColorSpaceRef _colorSpace = CGColorSpaceCreateDeviceRGB(); 
CGFloat _whiteColorComponents[] = {1.0, 1.0, 1.0, 1.0};
CGColorRef _color = CGColorCreate(_colorSpace, _whiteColorComponents);
CGContextSetStrokeColorWithColor(_context, _color);

CGContextMoveToPoint(_context, 0, 200);

float _increment = 1;
for (float _i = 0; _i<320; _i=_i+_increment) {
    float _sin = ((sin(_i/10) + 1) * 100) + 100;
    CGContextAddLineToPoint(_context, _i, _sin);
}

CGContextStrokePath(_context);

现在我想向整个路径添加阴影(而不是外发光)。使用 Quartz 是否可以实现这一点(只阅读有关 CGShading 的内容,但这似乎有点困难)?

先感谢您, 亚历山大

I'm currently drawing a sinus-curve using the CoreGraphics/Quartz CGContextAddLineToPoint-function on the iPhone:

CGContextRef _context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(_context, 6.0);
CGColorSpaceRef _colorSpace = CGColorSpaceCreateDeviceRGB(); 
CGFloat _whiteColorComponents[] = {1.0, 1.0, 1.0, 1.0};
CGColorRef _color = CGColorCreate(_colorSpace, _whiteColorComponents);
CGContextSetStrokeColorWithColor(_context, _color);

CGContextMoveToPoint(_context, 0, 200);

float _increment = 1;
for (float _i = 0; _i<320; _i=_i+_increment) {
    float _sin = ((sin(_i/10) + 1) * 100) + 100;
    CGContextAddLineToPoint(_context, _i, _sin);
}

CGContextStrokePath(_context);

Now I would like to add a shadow (rather an outer-glow) to the whole path. Is this possible using Quartz (only read something about CGShading, but this seems kind of difficult)?

Thank you in advance,
Alexander

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不…忘初心 2024-10-23 18:45:50

最简单的方法是画线。

  1. 绘制“阴影”线(颜色1,宽度1)
  2. 在顶部绘制法线(颜色2,宽度2)

The simplest way would be drawing to lines.

  1. Draw 'shadow' line (color1, width1)
  2. Draw normal line on top (color2, width2)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文