我正在使用CABasicAnimation
使用UIBezierPaths
CAShapeLayer
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
shapeLayer.path = [path CGPath];
shapeLayer.strokeColor = path.color.CGColor;
我的path.color
是来自图片模式的UIColor
。转换为CGColor
后,image pattern
会被颠倒。我知道这是因为iOS和核心图形使用不同的绘图起点。
我试过了
shapeLayer.transform = CATransform3DMakeRotation(M_PI, 0.0, 0.0, 1.0);
和
shapeLayer.geometryFlipped = YES;
但他们都没有工作。
如何将strokeColor
图像模式翻转180度以匹配原点UIColor
?
答案 0 :(得分:1)
正如您所怀疑的那样,坐标系不同。在这种情况下,原点位于UIImage *flippedPatternImage = [UIImage imageWithCGImage:patternImage.CGImage scale:1.0f orientation:UIImageOrientationLeftMirrored];
UIColor *colorWithImagePattern = [UIColor colorWithPatternImage:flippedPatternImage];
的左下角。
那么你可以做些什么来弥补这一点,要么是使用图像编辑器自己翻转图像,要么是这样编写代码:
strokeColor
最后将其分配给shapeLayer.strokeColor = path.color.CGColor;
:
$fields = array(
'author' => '<div class="comment-left pull-left">
<p class="input-block">
<label for="comment_name" class="required">'.__('Name', kopa_get_domain()).' <span>*</span></label>
<input type="text" id="comment_name" name="author" class="valid">
</p>',
'email' => '<p class="input-block">
<label for="comment_email" class="required">'.__('Email', kopa_get_domain()).'<span>*</span></label>
<input type="text" id="comment_email" name="email" class="valid">
</p>',
'url' => '<p class="input-block">
<label for="comment_url" class="required">'.__('Website', kopa_get_domain()).':</label>
<input type="text" name="url" class="valid" id="comment_url">
</p>
</div>',
);