Tag: calayer

在CALayer中添加UIImage

我必须添加一个UIImageView作为MapView的子视图。 为此,我在MapView上创build了一个图层。 在这一层我想把我的形象,但我得到一个白色的矩形,没有别的。 我的图像不可见。 这是代码: – (void)viewDidLoad { //…… CALayer *layer = [CALayer layer]; layer.backgroundColor = [[UIColor whiteColor] CGColor]; if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { layer.bounds = CGRectMake(self.mapView.bounds.origin.x, self.mapView.bounds.origin.y, 80, 300); } else { layer.bounds = CGRectMake(self.mapView.frame.origin.x, self.mapView.frame.origin.y, 150, 700); } layer.contents = (id)[UIImage imageNamed:@"myImage.png"]; //the name is correct but in the output the image is not […]

如何在CALayer上进行转换?

在写这个问题之前,我已经 有Affine转换观点的经验 阅读Quartz 2D Programming Guide中的Transforms文档 看到这个详细的CALayer教程 从Github下载并运行LayerPlayer项目 不过,我仍然无法理解如何在图层上进行基本的变换。 寻找翻译,旋转和缩放的解释和简单的例子已经很困难。 今天,我终于决定坐下来,做一个testing项目,并把它们弄清楚。 我的答案在下面。 笔记: 我只做Swift,但如果别人想要添加Objective-C代码,请成为我的客人。 在这一点上,我只关心理解二维变换。

CABasicAnimation旋转返回到原来的位置

我旋转CALayer使用CABasicAnimation,并正常工作。 问题是,当我尝试旋转同一图层时,它将在旋转之前返回到其原始位置。 我预期的结果是,下一轮,它应该从结束的地方开始。 这是我的代码: CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"]; animation.fromValue = 0; animation.toValue = [NSNumber numberWithFloat:3.0]; animation.duration = 3.0; animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; animation.removedOnCompletion = NO; animation.fillMode = kCAFillModeForwards; animation.autoreverses = NO; [calayer addAnimation:animation forKey:@"rotate"]; 我的代码有什么缺失? 谢谢

UIView用虚线

我拥有的: 要创build这一行,我基本上有一个UIView ,我做了以下几点: void setLayerToLineFromAToB(CALayer *layer, CGPoint a, CGPoint b, CGFloat lineWidth) { CGPoint center = { 0.5 * (ax + bx), 0.5 * (ay + by) }; CGFloat length = sqrt((ax – bx) * (ax – bx) + (ay – by) * (ay – by)); CGFloat angle = atan2(ay – by, ax – bx); […]

如何使用Swift实时过滤video

是可以应用filter到AVLayer并添加它作为addSublayer 查看 ? 我想改变颜色,并添加一些噪音的相机使用斯威夫特video,我不知道如何。 我想,可以像这样添加filterLayer和previewLayer : self.view.layer.addSublayer(previewLayer) self.view.layer.addSublayer(filterLayer) 这也许可以用我的自定义filter创buildvideo,但我认为,这可能会更有效地使用AVComposition 所以我需要知道: 将滤镜应用于相机video输出的最简单方法是什么? 是否可以合并AVCaptureVideoPreviewLayer和CALayer ? 感谢您的每一个build议..

如何在CALayer中绘制径向渐变?

我知道CAGradientLayer目前不支持径向渐变,只有kCAGradientLayerAxial选项。 我想要下面的东西: 我已经四处寻找这个问题,发现有一个办法解决这个问题。 但是我的解释并不清楚。 所以我想知道,如果我可以使用CAGradientLayer绘制径向渐变,如果是的话,那么该怎么做呢?

使用AVVideoCompositionCoreAnimationTool将video与静态图像混合在CALayer中

我正试图将来自相机的video与静态图像(水印)混合在一起。 我已经检查了这里的问题和答案,还有一些例子,包括来自Apple的WWDC AVEditDemo,并以下面的代码结束。 不幸的是,导出的video不包含图像的图层。 有任何想法吗? – (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { /// incoming video NSURL *videoURL = [info valueForKey:UIImagePickerControllerMediaURL]; /// UIImage into CALayer UIImage *myImage = [UIImage imageNamed:@"m1h.png"]; CALayer *aLayer = [CALayer layer]; aLayer.contents = (id)myImage.CGImage; AVURLAsset* url = [AVURLAsset URLAssetWithURL:videoURL options:nil]; AVMutableComposition *videoComposition = [AVMutableComposition composition]; NSError *error; NSFileManager *fileManager = [NSFileManager defaultManager]; AVMutableCompositionTrack […]

CALayers没有调整其UIView的边界改变。 为什么?

我有一个UIView约有8个不同的CALayer子层添加到其图层。 如果我修改视图的边界 (animation),然后视图本身缩小(我用backgroundColor检查它),但子图层的大小保持不变 。 如何解决这个问题?