2010-01-16 22 views
3

特別提前致謝...... 我是iphone軟件開發的開端。iPhone上的相機視圖實時水印圖像

只是尋找如何以編程方式將實時水印圖像添​​加到使用可可的相機視圖。不是在尋找一步一步的步伐(儘管那會很棒),但或多或​​少地尋找我應該從哪裏開始學習如何。是否有框架開發爲此工作。希望使用XCode框架的Objective-C原生的東西,因爲我想最終在iPhone上放棄這一點。任何幫助都會很棒。

+1

嘿拉金德拉!如果我的回答足夠有用,那麼請接受它。如果不是在評論中問你的問題,我會看看我能否提供幫助。 – 2010-01-21 15:53:41

回答

4

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 

我希望這將成爲你作爲一個起點。

+0

伊凡,我現在這是一箇舊帖子,但它是非常有用的,但我確實有一個問題...覆蓋圖像似乎被抵消在最終合併圖像。任何方式來糾正這個?我認爲這與縮放比例和相機的高寬比有關,但我不確定。有任何想法嗎? – LilMoke 2012-04-18 12:11:26

+0

那麼在你的情況下,我只是試圖對水印圖像進行轉換。如果你想要的話,你可以用你的代碼片段來發布你的問題,足以讓我開始一個新的項目,把代碼粘貼到它裏面並且玩弄它。也許我將能夠提供幫助。如果您決定發佈該問題,請務必向我發送帶有鏈接的消息。 – 2012-04-19 07:03:09

+0

我已經發布了一個問題和代碼在這裏:http://stackoverflow.com/questions/10226764/watermark-image-on-camera-view-is-offset謝謝你的幫助! – LilMoke 2012-04-19 11:09:59