1

我的应用程序的要求是它需要拍照然后将其分成几部分。例如,有 8 行和 8 列。我可能将行命名为 A 到 H,而我可能将列命名为 1 到 8。假设单击图片后的用户选择 A1,代码应该能够缩放 A1 并为他提供执行操作的选项一些事情,比如放置一些符号或从可用选项中标记一些东西。我如何实现 1) 拆分 2) 缩放 3) 以小徽标的形式向用户提供各种符号?我对 iphone 编程很陌生,发现存在一个名为 UIImagePickerController 的类来帮助你,但我不知道如何实现 1,2 和 3。请帮助我。

4

1 回答 1

2

好吧,要将图像分成几部分,您应该使用以下代码(将其放在UIImage类别中):

- (UIImage *)imageCroppedWithRect:(CGRect)rect
{
    if (self.scale > 1.0f) {
        rect = CGRectMake(rect.origin.x * self.scale,
                          rect.origin.y * self.scale,
                          rect.size.width * self.scale,
                          rect.size.height * self.scale);
    }

    CGImageRef imageRef = CGImageCreateWithImageInRect(self.CGImage, rect);
    UIImage *result = [UIImage imageWithCGImage:imageRef scale:self.scale orientation:self.imageOrientation];
    CGImageRelease(imageRef);
    return result;
}

现在您将拥有一些图像,并且应该UIImageViews使用这些图像创建适当数量的图像。然后取决于你想让用户如何缩放它添加UITapGestureRecognizer,eq。对于缩放,您可以添加隐藏UIImageView,当点击该部分时,使用以下代码:

- (void)pieceTapped:(UITapGestureRecognizer *)recognizer
{
    UIImageView *piece = recognizer.view;
    self.zoomedImageView.frame = piece.frame;
    self.zoomedImageView.image = piece.image;
    self.zoomedImageView.hidden = NO;
    [UIView animationWithDuration:0.3 animation:^{
        self.zoomedImageView.frame = self.view.frame;
    }];
}

现在你应该只把你的符号放在那个图像上。但是你想怎么做呢?从某处或自动拖放图像?将符号永久放置到图像上还是仅放置在图像上?

于 2012-10-09T01:46:45.447 回答