是否可以通过电缆 (USB) 连接将签名从 iPhone 传输到 .xls 文件中?
问问题
3806 次
1 回答
7
因此,这可能不是您正在寻找的,但这就是我捕获用户(用他们的手指/手写笔)绘制的签名的方式。您的 UIImageView 将具有绘制的签名。我还没有考虑过如何将签名图像传输到 .xls 但您可以将图像保存到设备的照片库中,然后像导出任何其他图像一样将其导出,然后将其放入 .xls(我知道,那是手册过程)。我希望这有帮助。
SignatureViewController.h
IBOutlet UIImageView *signatureImageView;
//Signature Drawing Items
CGPoint lastPoint;
BOOL mouseSwiped;
int mouseMoved;
SignatureCaptureViewController.m
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
mouseSwiped = NO;
UITouch *touch = [touches anyObject];
//Clear Signature on Double Tap
if ([touch tapCount] == 2) {
signatureImageView.image = nil;
return;
}
lastPoint = [touch locationInView:signatureImageView];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
mouseSwiped = YES;
UITouch *touch = [touches anyObject];
CGPoint currentPoint = [touch locationInView:signatureImageView];
UIGraphicsBeginImageContext(signatureImageView.frame.size);
[signatureImageView.image drawInRect:CGRectMake(0, 0, signatureImageView.frame.size.width, signatureImageView.frame.size.height)];
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 2.0);
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 0.0, 0.0, 0.0, 1.0);
CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext());
signatureImageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
lastPoint = currentPoint;
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
//Clear Signature on Double Tap
if ([touch tapCount] == 2) {
signatureImageView.image = nil;
return;
}
if(!mouseSwiped) {
UIGraphicsBeginImageContext(signatureImageView.frame.size);
[signatureImageView.image drawInRect:CGRectMake(0, 0, signatureImageView.frame.size.width, signatureImageView.frame.size.height)];
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 2.0);
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 0.0, 0.0, 0.0, 0.0);
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext());
CGContextFlush(UIGraphicsGetCurrentContext());
signatureImageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
}
于 2010-11-09T16:23:09.130 回答