• <menu id="w2i4a"></menu>
  • logo LEADTOOLS使用教程

    文檔首頁>>LEADTOOLS使用教程>>LEADTOOLS for iOS/OS X入門使用教程

    LEADTOOLS for iOS/OS X入門使用教程


    使用LEADTOOLS for iOS/OS X時,根據(jù)以下步驟可以創(chuàng)建一個運行于iPhone/ iPad模擬器或iOS設(shè)備上的iOS應(yīng)用程序演示。

    1、啟動Xcode應(yīng)用程序。可在任務(wù)欄上找到該圖標,如下所示:

    2、如果任務(wù)欄上沒有Xcode應(yīng)用程序圖標,從任務(wù)欄中選擇 "Lanuchpad" ,然后點擊 "Developer" 圖標,即可啟動Xcode?;蛘吣阋部梢愿鶕?jù)MAC跟蹤器右上角的 "Spotlight",搜索Xcode應(yīng)用程序。

    3、在Xcode啟動對話框中單擊Create a new Xcode project按鈕。

    4、點擊該按鈕,打開Choose a template for your new project對話框。通過該對話框來指定項目類型。在 "iOS"模板中選擇 "Application",然后選擇"Single View Application",接著點擊Next。

    5、在Choose options for your new project中:在對話框中,你可以指定項目名稱和選項,然后點擊Next。

    6、此時,會出現(xiàn)一個對話框,用于指定項目保存的位置。指定位置,然后單擊Finish按鈕來創(chuàng)建項目。

    7、按Command+ B生成項目,或者在Xcode菜單中選擇Product -> Build。

    8、在Xcode項目瀏覽器中,選擇并展開 "Frameworks"文件夾,從設(shè)備/模擬器圖片專輯加載圖像。用鼠標右鍵單擊它并選擇將文件添加到"ViewerTest"...

    9、使用文件瀏覽器對話框,找到所提取的iOS框架,然后選擇以下框架,并點擊Add:

    • Leadtools.framework
    • Leadtools.Kernel.framework
    • Leadtools.Controls.framework
    • Leadtools.Converters.framework
    • Leadtools.ImageProcessing.Utilities.framework
    • Leadtools.ImageProcessing.Color.framework

    10、在項目導(dǎo)航中,展開"Supporting Files" 文件夾,然后點擊ViewerTest-Prefix.pch。添加以下#import語句:

    • #import <Leadtools/Leadtools.h>
    • #import <Leadtools.Controls/Leadtools.Controls.h>
    • #import <Leadtools.Converters/Leadtools.Converters.h>
    • #import <Leadtools.ImageProcessing.Color/Leadtools.ImageProcessing.Color.h>

    11、在項目導(dǎo)航器中點擊ViewerController_iPhone.xib,添加一個用戶接口至項目。

    12、通過在Library Pane底部的Find Text Box控件中寫入控件名稱,可添加按鈕和查看器控件。選中Xcode應(yīng)用程序的右下角,如下圖所示:

    例如:寫入"UIButton" 或 "UIView" 并將其添加至界面生成器。

    13、在Identity Inspector面板中,通過將"Class" 名稱改成"LTImageViewer",從而將 "UIView" 的基本類型改成"LTImageViewer"控件,如下所示:

    14、將出口連接添加至界面生成器對象的"ViewController"類。在 Xcode IDE菜單中選擇View -> Assistant Editor -> Show Assistant Editor以展示助理編輯Assistant Editor。

    15、選擇從界面生成器中選擇瀏覽器控件。將出現(xiàn)一個彈出式對話框,輸入變量 "imageViewer",然后單擊Connect按鈕。

    16、重復(fù)以上步驟,添加Load, Flip 和Invert行為按鈕。

    17、在項目導(dǎo)航器,面板中選擇項目根目標,然后選擇 "Build Settings"選項卡,可將兩個連接器選項 "-lstdc++ -ObjC" 添加至項目生成設(shè)置。在搜索編輯框中,輸入other linker flags過濾設(shè)置,從而只顯示字段。點擊它,然后添加設(shè)置"-lstdc++ -ObjC"。

    18、編譯該項目。

    19、打開 "ViewController.h"文件,將以下代碼作為圖像選擇器代理添加至接口聲明:

    @interface ViewController : UIViewController<UIImagePickerControllerDelegate, UINavigationControllerDelegate>
    @property (strong, nonatomic) IBOutlet LTImageViewer *imageViewer;
    
    - (IBAction)loadImageFromAlbum:(id)sender;
    - (IBAction)flipImage:(id)sender;
    - (IBAction)invertImage:(id)sender;
    - (void)showError:(NSError*)error;
    
    @end

    20、打開執(zhí)行文件,添加以下代碼:

    -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
    {
    self.imageViewer.image = [info objectForKey:UIImagePickerControllerOriginalImage];
    [self dismissViewControllerAnimated:NO completion:nil];
    }
    
    - (void)showError:(NSError*)error
    {
    NSString* str;
    if(error != nil)
    str = [NSString stringWithFormat:@"@\nReason@\nDescription: @\nCoded\n", @"Error", [error localizedDescription], [error localizedFailureReason], [error code]];
    
    UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Error" message:str delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    [alert show];
    }
    
    - (IBAction)loadImageFromAlbum:(id)sender
    {
    UIImagePickerController* imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.allowsEditing = NO;
    imagePicker.delegate = self;
    
    if(![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary])
    {
    [[[UIAlertView alloc] initWithTitle:@"Warning" message:@"your device does not allow using PhotoLibrary" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show];
    return;
    }
    
    imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    [self presentViewController:imagePicker animated:YES completion:nil];
    }
    
    - (IBAction)flipImage:(id)sender
    {
    NSError* error = nil;
    LTRasterImage* rasterImage = [LTRasterImageConverter convertFromImage:self.imageViewer.image options:LTConvertFromImageOptions_None error:&error];
    if(rasterImage == nil && error != nil) // error occurred
    {
    [self showError:error];
    return;
    }
    
    LTFlipCommand* command = [[LTFlipCommand alloc]initWithHorizontal:NO];
    
    BOOL ret = [command run:rasterImage error:&error];
    if(ret == NO && error != nil) // error occurred
    {
    [self showError:error];
    return;
    }
    
    // Put the updated image back into the viewer
    [self.imageViewer setRasterImage:rasterImage];
    }
    
    - (IBAction)invertImage:(id)sender
    {
    NSError* error = nil;
    LTRasterImage* rasterImage = [LTRasterImageConverter convertFromImage:self.imageViewer.image options:LTConvertFromImageOptions_None error:&error];
    if(rasterImage == nil && error != nil) // error occurred
    {
    [self showError:error];
    return;
    }
    
    LTInvertCommand* command = [[LTInvertCommand alloc]init];
    BOOL ret = [command run:rasterImage error:&error];
    if(ret == NO && error != nil) // error occurred
    {
    [self showError:error];
    return;
    }
    
    // Put the updated image back into the viewer
    [self.imageViewer setRasterImage:rasterImage];
    }

    21、運行demo。

    22、點擊Load,從照片庫中選擇一個圖像。圖像預(yù)覽效果如下:

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();