UPDATE : 여기 오버레이 뷰 카메라 애니메이션에서 넣을 수있는 방법에 대한 내 다른 대답 : camera overlay view - just for preview?
힐로 라젠 드라가!
간단한 Windows 기반 iPhone OS 응용 프로그램을 만들었습니다. 카메라로 사진을 캡처하고, 카메라 모드로보기를 오버레이하고, 이미지의 크기를 조정하고 병합하는 방법과 방법에 대한 간단한 예제를 제공합니다. 이 프로젝트는 실제로 AppDelegate 헤더와 구현 파일 만 가지고 있으며 XCode에서 쉽게 재현 할 수 있습니다.
여기에 헤더 파일입니다 :
//
// CameraWatermarkAppDelegate.h
// CameraWatermark
//
// Created by Ivan Karpan on 1/16/10.
// Copyright __MyCompanyName__ 2010. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface CameraWatermarkAppDelegate : NSObject < UIApplicationDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate > {
UIImageView *imageView;
UIViewController *viewController;
UIWindow *window;
}
@property (nonatomic, retain) UIImageView *imageView;
@property (nonatomic, retain) UIViewController *viewController;
@property (nonatomic, retain) IBOutlet UIWindow *window;
@end
그리고 여기에 구현 파일입니다 :이 출발점으로 서비스를 제공하기를 희망
//
// CameraWatermarkAppDelegate.m
// CameraWatermark
//
// Created by Ivan Karpan on 1/16/10.
// Copyright __MyCompanyName__ 2010. All rights reserved.
//
#import "CameraWatermarkAppDelegate.h"
const float WATERMARK_ALPHA = 0.5;
@implementation CameraWatermarkAppDelegate
@synthesize imageView, viewController, window;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
self.viewController = [[UIViewController new] autorelease];
viewController.view.backgroundColor = [UIColor blackColor];
// An image view to save to (and therefore display) the captured image
self.imageView = [[UIImageView new] autorelease];
imageView.frame = viewController.view.frame;
[viewController.view addSubview:imageView];
[window addSubview:viewController.view];
UIImagePickerController *anImagePickerController = [UIImagePickerController new];
anImagePickerController.delegate = self;
anImagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
{// This block of code is only needed in case you want your watermark to be displayed also during the shooting process
UIImageView *anImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Watermark.png"]];
anImageView.alpha = WATERMARK_ALPHA;
anImageView.contentMode = UIViewContentModeTopLeft;
anImageView.frame = viewController.view.frame;
anImagePickerController.cameraOverlayView = anImageView;
[anImageView release];
}
// From the very beginning we simply present the image picker controller
[viewController presentModalViewController:anImagePickerController animated:NO];
[anImagePickerController release];
}
- (void)dealloc {
[imageView release];
[viewController release];
[window release];
[super dealloc];
}
#pragma mark UIImagePickerControllerDelegate
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIGraphicsBeginImageContext(CGSizeMake(320, 480));
// This is where we resize captured image
[(UIImage *)[info objectForKey:UIImagePickerControllerOriginalImage] drawInRect:CGRectMake(0, 0, 320, 480)];
// And add the watermark on top of it
[[UIImage imageNamed:@"Watermark.png"] drawAtPoint:CGPointMake(0, 0) blendMode:kCGBlendModeNormal alpha:WATERMARK_ALPHA];
// Save the results directly to the image view property
imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// Dismiss the image picker controller and look at the results
[picker dismissModalViewControllerAnimated:YES];
}
@end
.
안녕하세요 Rajendra! 내 대답이 당신에게 충분히 유용하다면 받아들이십시오. 코멘트에서 질문하지 않으면 내가 도울 수 있는지 알게 될 것입니다. –