作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 iOS 中创建一个旋转旋钮按钮。图形设计师给了我 png 图层,所以我使用图像上下文来混合图层。
在旋转时,只有部分图层会旋转。我的目标是为这些旋转设置动画。
目前,我正在使用
- (BOOL)beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
- (BOOL)continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
- (BOOL)endTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
在这些方法中,我计算图像所需的旋转并绘制它。
这很好用。我的障碍是在
- (BOOL)endTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
我想做一个“对齐”动画。我怎样才能做到这一点?由于混合,我不确定在这种情况下如何使用仿射变换。以下方法是我构建图像的方式:
- (UIImage *)knobImageWithRadians:(float)radians
{
UIImage *i05 = [UIImage imageNamed:@"05 - Metal Over Empty Space - ROTATE ME.png"];
UIImage *i04 = [UIImage imageNamed:@"04 - Inner Knob.png"];
UIImage *i03 = [UIImage imageNamed:@"03 - Over Knob Metal - (OVERLAY BLEND) - ROTATE ME.png"];
UIImage *i02 = [UIImage imageNamed:@"02 - Numbers and Dashes - ROTATE ME.png"];
UIImage *i01 = [UIImage imageNamed:@"01 - Reflective Overlay - (COLOR DODGE BLEND).png"];
CGSize size = i11.size;
UIGraphicsBeginImageContext(size);
CGContextRef bitmap = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(bitmap, size.width/2, size.height/2);
[i04 drawInRect:CGRectMake(-i04.size.width/2, -i04.size.height/2, i04.size.width, i04.size.height) blendMode:kCGBlendModeNormal alpha:1.0];
CGContextRotateCTM(bitmap, radians);
[i03 drawInRect:CGRectMake(-i03.size.width/2, -i03.size.height/2, i03.size.width, i03.size.height) blendMode:kCGBlendModeOverlay alpha:1.0];
[i02 drawInRect:CGRectMake(-i02.size.width/2, -i02.size.height/2, i02.size.width, i02.size.height) blendMode:kCGBlendModeNormal alpha:1.0];
CGContextRotateCTM(bitmap, -radians);
[i01 drawInRect:CGRectMake(-i01.size.width/2, -i01.size.height/2, i01.size.width, i01.size.height) blendMode:kCGBlendModeColorDodge alpha:1.0];
UIImage* blendedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return blendedImage;
}
更新:
现在,我只是让它直接捕捉,没有任何动画。
最佳答案
您必须通过定期以新角度重新绘制图像来自己制作动画。或者想出只使用源而不是合成的视觉效果,这样您就可以将每个图像放在一个单独的层中。
关于ios - iOS 5.1 中的 CGGraphics Image Context 动画旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11486625/
目标 我正在开发一个实用程序,用于根据任意纵横比裁剪 UIImage,并将 aspectFit 或 aspectFill 作为裁剪选项。 aspectFill 选项将以最终图像将被原始图像完全覆盖的方
我正在 iOS 中创建一个旋转旋钮按钮。图形设计师给了我 png 图层,所以我使用图像上下文来混合图层。 在旋转时,只有部分图层会旋转。我的目标是为这些旋转设置动画。 目前,我正在使用 - (BOOL
我是一名优秀的程序员,十分优秀!