特別提前致謝...... 我是iphone軟件開發的開端。iPhone上的相機視圖實時水印圖像
只是尋找如何以編程方式將實時水印圖像添加到使用可可的相機視圖。不是在尋找一步一步的步伐(儘管那會很棒),但或多或少地尋找我應該從哪裏開始學習如何。是否有框架開發爲此工作。希望使用XCode框架的Objective-C原生的東西,因爲我想最終在iPhone上放棄這一點。任何幫助都會很棒。
特別提前致謝...... 我是iphone軟件開發的開端。iPhone上的相機視圖實時水印圖像
只是尋找如何以編程方式將實時水印圖像添加到使用可可的相機視圖。不是在尋找一步一步的步伐(儘管那會很棒),但或多或少地尋找我應該從哪裏開始學習如何。是否有框架開發爲此工作。希望使用XCode框架的Objective-C原生的東西,因爲我想最終在iPhone上放棄這一點。任何幫助都會很棒。
UPDATE:這是我關於如何重疊視圖可以在相機的動畫之下把對方回答:camera overlay view - just for preview?
直升機拉金德拉!
我創建了一個簡單的基於Window的iPhone操作系統應用程序,爲您提供一個非常簡單的示例,說明如何使用相機捕獲照片,在相機模式下疊加視圖,調整圖像大小和合並圖像。這個項目實際上只有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
我希望這將成爲你作爲一個起點。
伊凡,我現在這是一箇舊帖子,但它是非常有用的,但我確實有一個問題...覆蓋圖像似乎被抵消在最終合併圖像。任何方式來糾正這個?我認爲這與縮放比例和相機的高寬比有關,但我不確定。有任何想法嗎? – LilMoke 2012-04-18 12:11:26
那麼在你的情況下,我只是試圖對水印圖像進行轉換。如果你想要的話,你可以用你的代碼片段來發布你的問題,足以讓我開始一個新的項目,把代碼粘貼到它裏面並且玩弄它。也許我將能夠提供幫助。如果您決定發佈該問題,請務必向我發送帶有鏈接的消息。 – 2012-04-19 07:03:09
我已經發布了一個問題和代碼在這裏:http://stackoverflow.com/questions/10226764/watermark-image-on-camera-view-is-offset謝謝你的幫助! – LilMoke 2012-04-19 11:09:59
嘿拉金德拉!如果我的回答足夠有用,那麼請接受它。如果不是在評論中問你的問題,我會看看我能否提供幫助。 – 2010-01-21 15:53:41