【问题标题】:UIImage Flip and MirrorUIImage翻转和镜像
【发布时间】:2012-03-28 05:17:54
【问题描述】:

我有一个需要翻转和镜像的 UIImage。我已经通过使用 UIImageView 来做到这一点。我有两个问题。

  1. 这不会改变图像,只会改变视图。因此,当我使用图像时,它不会翻转或出现错误。

  2. 如果我两次使用相同的转换,第二次它什么也不做。

代码示例:(我是 IOS 编程新手,对于任何错误代码,我深表歉意。)

调用翻转:

// ImageHolder is a UIImageView
ImageHolder = [self flip:ImageHolder FlipType:@"V"];

它叫什么:

- (UIImageView *)flip:(UIImageView *) fvImageView FlipType:(NSString *)FlipType { 

    UIImageView *newView =  [[UIImageView alloc] init];
    newView = fvImageView;
    if ( FlipType == @"V"){
        newView.transform = CGAffineTransformMakeScale(-1, 1);
    } else if ( FlipType == @"H"){
        newView.transform = CGAffineTransformMakeScale(1, -1);
    }else if ( FlipType == @"VH"){
        newView.transform = CGAffineTransformMakeScale(-1, -1);   
    }else if ( FlipType == @"N"){
        newView.transform = CGAffineTransformMakeScale(1, 1);
    }
    return newView;
    [newView release]; newView= nil;
}

感谢您提供的任何帮助!

【问题讨论】:

  • 我已经更新了代码 感谢 RakeshNSS!我仍然不知道我不能连续两次这样做。我希望能够来回翻转。
  • 我刚刚检查过,如果我保存图像,它不会只翻转视图。我需要翻转图像。
  • 使用return [newView autorelease];,因为返回后你的释放不会触发。

标签: iphone ios image sdk flip


【解决方案1】:

图像没有翻转,因为你释放了图像

[newView release];

然后让它为零

newView= nil;

然后返回

return newView;

结果是你在做一些操作后返回一个 nil 值。我认为对“fvImageView”对象进行更改就足够了,您将其作为函数的参数传递。

【讨论】:

  • 谢谢!我应该看到的。既然我已经完成了那部分工作,它仍然不会让我连续两次这样做。我希望能够在不保持翻转状态的情况下来回翻转它。有什么想法吗?
猜你喜欢
  • 2012-01-14
  • 1970-01-01
  • 2017-06-24
  • 1970-01-01
  • 2020-07-18
  • 2019-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多