Iphone 从左到右的渐变方向

Iphone 从左到右的渐变方向,iphone,ios,xcode,Iphone,Ios,Xcode,我完全被这个问题难住了,它应该如此简单,以至于让我发疯 我正在使用这个苹果反射教程 它们具有从上到下显示的图像渐变 如何从左到右渐变 如何水平翻转图像。在他们的示例中,他们垂直翻转图像 有什么帮助吗 //The gradient code is here but I don't know what should be the gradient start / end points CGImageRef CreateGradientImage(int pixelsWide, int pixe

我完全被这个问题难住了,它应该如此简单,以至于让我发疯

我正在使用这个苹果反射教程

它们具有从上到下显示的图像渐变

  • 如何从左到右渐变
  • 如何水平翻转图像。在他们的示例中,他们垂直翻转图像
有什么帮助吗

//The gradient code is here but I don't know what should be the gradient start / end points
CGImageRef CreateGradientImage(int pixelsWide, int pixelsHigh)
{
.....
gradientStartPoint = CGPointZero;
        gradientEndPoint = CGPointMake(0, pixelsHigh);
}

//similarly I know the image flip happens here but for life of me I cannot make it flip horizontally

- (UIImage *)reflectedImage:(UIImageView *)fromImage withHeight:(NSUInteger)height
{
.....
CGContextTranslateCTM(mainViewContentContext, 0.0, height);
        CGContextScaleCTM(mainViewContentContext, 1.0, -1.0);
}
试试这个:

//horizontal gradient
CGImageRef CreateGradientImage(int pixelsWide, int pixelsHigh)
{
    .....
    gradientStartPoint = CGPointZero;
    gradientEndPoint = CGPointMake(pixelsWide, 0);
}

//horizontal flip

- (UIImage *)reflectedImage:(UIImageView *)fromImage withWidth:(NSUInteger)width
{
    .....
    CGContextTranslateCTM(mainViewContentContext, width, 0,0);
    CGContextScaleCTM(mainViewContentContext, -1.0, 1.0);
}
对于水平翻转,您应该添加一个新方法,因为您必须指定宽度,而不是高度

祝你好运

编辑1:

为了获得渐变,您应该对reflectedImage:withWidth添加另一个修改

- (UIImage *)reflectedImage:(UIImageView *)fromImage withWidth:(NSUInteger)width
{
    .....
    CGImageRef gradientMaskImage = CreateGradientImage(width, 1);
    .....
}

谢谢你的密码。水平翻转效果很好,但从左到右的渐变效果不好。它显示了整个图像上的渐变,而不是从中间开始,一直走到右边,在我的帖子中附加了一个图像,当我进入梯度渐变StistalPosits=CGPosiToC0时看到的图像。gradientEndPoint=CGPointMake(像素宽度,0);嗨,路易斯,我还有一个后续问题-如果你也能帮忙的话,那就太好了-