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、式を追加します。ズームするには、非表示を追加できます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 に答える