我完全被这个问题难住了,它应该如此简单,以至于让我发疯。
我正在使用这个苹果反射教程。
苹果反射示例 http://developer.apple.com/library/ios/#samplecode/Reflection/Listings/MyViewController_m.html#//apple_ref/doc/uid/DTS40008063-MyViewController_m-DontLinkElementID_6
它们具有从上到下显示的图像渐变。
- 如何制作从左到右的渐变
- 如何水平翻转图像。在他们的示例中,他们垂直翻转图像。
有什么帮助吗?
//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);
}
对于水平翻转,您应该添加一个新方法,因为您必须指定宽度,而不是高度。
祝你好运!
EDIT 1:
为了获得渐变,您应该对 ReflectedImage:withWidth 添加另一个修改。
- (UIImage *)reflectedImage:(UIImageView *)fromImage withWidth:(NSUInteger)width
{
.....
CGImageRef gradientMaskImage = CreateGradientImage(width, 1);
.....
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)