【问题标题】:iOS: image over another rotate imageiOS:图像在另一个旋转图像上
【发布时间】:2013-01-18 16:45:30
【问题描述】:

我有这种方法可以在另一个图像上添加图像并获得合并结果

- (UIImage*) createImage{
    UIImage *imageToShare = nil;
    UIImageView* imageView = [[UIImageView alloc] initWithFrame:[self.view frame]];
    imageView.image = currentImage;
    UIImageView* subView   = [[UIImageView alloc] initWithImage:imageToUse.image];
    [imageView addSubview:subView];

    UIGraphicsBeginImageContext(imageView.frame.size);
    [imageView.layer renderInContext:UIGraphicsGetCurrentContext()];
    imageToShare = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    [subView release];
    [imageView release];
    return imageToShare;
}

它工作正常,因为我的 imageToShare 没问题,但问题是“subView”是一个图像,我可以旋转和捏合以进行缩放和移动......然后当我执行此方法时 subView 返回其原始位置.. .如何将其保存在 imageView 上的状态位置?

【问题讨论】:

  • 你想做什么?从你的描述中不是很清楚。如果您想允许用户进一步修改合并的图像,我建议绘制到不可见的上下文,然后将结果分配给 UIImageView 图像属性。
  • 是的,是的......在这个不可见的上下文中分配 imageView 的方法是什么?

标签: iphone ios uiimage


【解决方案1】:

如果要合并两张图片,保留合并后的结果,让用户进一步操作,一个好办法是绘制到一个特定大小的离屏上下文,然后创建一个CGImageRef,然后赋值到图像视图。看看this question and the answers 看看它是如何完成的。

【讨论】:

  • 我听从了你的建议,但我得到了一张黑色的图像
  • 这取决于很多因素:源图像、滤镜、你在哪里绘制它们……在没有更多信息的情况下很难给出具体建议,抱歉。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-19
  • 2011-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多