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