Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Adobe Creative SDK ImageEdit UIの紹介
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ippei Sumida
April 23, 2016
Programming
860
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Adobe Creative SDK ImageEdit UIの紹介
2016.04.23に『フロントエンド✕モバイルアプリ勉強会 』でお話しした、『Adobe Creative SDK ImageEdit UIの紹介』のスライドです。
Ippei Sumida
April 23, 2016
More Decks by Ippei Sumida
See All by Ippei Sumida
DROBEの生成AI活用事例 with AWS
ippey
0
330
みんなでQAしてる話
ippey
0
190
AIで生成したものをAIでチェックしてる話
ippey
0
2.4k
『WordPressコミュニティで学ぶ』OSS貢献の多様性
ippey
0
1.4k
25分で理解する!Symfonyの魅力とその実践的活用法
ippey
1
7.9k
素早いバリュー提供のための DROBEの新戦略
ippey
0
1.5k
Symfony 6.3のおすすめ新機能まとめ
ippey
1
2.2k
PhpStorm + GitHub Copilotはいいぞ
ippey
0
3.3k
それぞれの特徴から考えるフレームワーク選び
ippey
1
1.2k
Other Decks in Programming
See All in Programming
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
260
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
19
20k
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
330
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
300
iOSDCのペンライトを自動制御したい!
akkeylab
0
330
AHC070解法紹介
eijirou
0
150
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
270
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
470
Heart of Swift Concurrency
koher
0
1.1k
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.2k
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
110
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
200
Featured
See All Featured
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Curious Case for Waylosing
cassininazir
1
550
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Writing Fast Ruby
sferik
630
63k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
560
Facilitating Awesome Meetings
lara
57
7.2k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
500
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
690
It's Worth the Effort
3n
188
29k
Transcript
Adobe Creative SDK ImageEdit UIͷհ ϑϩϯτΤϯυ✕ϞόΠϧΞϓϦษڧձ 2016.04.23
ࣗݾհ • ֯ాɹҰฏʢεϛμɹΠοϖΠʣ • DNPσδλϧίϜ • PHP, iOS, AndroidΤϯδχΞ •
CoderDojoٶɾകాɹϝϯλʔɺੈਓձ
ࣗݾհ @ippey_s ippeisumida
Adobe Creative SDK
Adobe Creative SDKͱ • Adobeͷը૾ܥϥΠϒϥϦ • iOS, Android, Web͕༻ҙ͞Ε͍ͯΔ •
ແྉͰར༻Մೳ
ओͳػೳ
Creative Cloud Content Management
Creative Cloud Market
Creative Tool
Connected Workflow
ओͳػೳ • Creative Cloud Content Management • Creative Cloud Market
• Creative Tools • Connected Workflow
Creative Tools • Image Edit UIʢAviaryʣ • Color Tools UI
ಋೖࣄྫ
KURURi
ಋೖࣄྫʢKURURiʣ • DNPϑϦϚΞϓϦ • iOS, AndroidରԠ • ग़ը૾ͷฤूػೳʹར༻
ར༻Πϝʔδ
ಋೖϝϦοτ • ը૾ฤूػೳ։ൃͷίετݮ • എܠɾจࣈ৭ͳͲ͋ΔఔΧελϚΠζՄೳ • iOS, AndroidͷػೳΛ౷ҰͰ͖Δ
How to use Image Edit UI
How to use Image Edit UI • iOS, AndroidωΠςΟϒ •
WebJavaScript͕ͩɺPC, λϒϨοτ͚ • ࠓճɺCordova + iOS SDK
ClientID, Secretऔಘ
ClientID, Secretऔಘ
SDKμϯϩʔυ
Frameworkίϐʔ
BuildPhaseઃఆʢPluginՃޙʣ
PluginϑΝΠϧߏ
Plugin࡞ FrameworkՃ <framework src="src/ios/AdobeCreativeSDKImage.framework" custom="true" /> <framework src="src/ios/AdobeCreativeSDKCore.framework" custom="true" />
<framework src="Accelerate.framework" /> <framework src="CoreData.framework" /> <framework src="libsqlite3.0.dylib" /> <framework src="libz.1.2.5.dylib" /> <framework src="Foundation.framework" /> <framework src="MessageUI.framework" /> <framework src="OpenGLES.framework" /> <framework src="QuartzCore.framework" /> <framework src="StoreKit.framework" /> <framework src="MobileCoreServices.framework" /> <framework src="UIKit.framework" /> <framework src="libc++.dylib" />
Plugin࡞ ίϚϯυՃ #import <Cordova/CDVPlugin.h> #import <Cordova/CDVInvokedUrlCommand.h> #import <AdobeCreativeSDKCore/AdobeCreativeSDKCore.h> #import <AdobeCreativeSDKImage/AdobeCreativeSDKImage.h>
@interface AviaryImageEdit : CDVPlugin <AdobeUXImageEditorViewControllerDelegate> { AdobeUXImageEditorViewController *editorController; NSString *callbackId; } - (void)launch:(CDVInvokedUrlCommand*)command; @end
Plugin࡞ ίϚϯυՃ #import <Cordova/CDVPlugin.h> #import <Cordova/CDVInvokedUrlCommand.h> #import <AdobeCreativeSDKCore/AdobeCreativeSDKCore.h> #import <AdobeCreativeSDKImage/AdobeCreativeSDKImage.h>
@interface AviaryImageEdit : CDVPlugin <AdobeUXImageEditorViewControllerDelegate> { AdobeUXImageEditorViewController *editorController; NSString *callbackId; } - (void)launch:(CDVInvokedUrlCommand*)command; @end Protocolઃఆ
Plugin࡞ ίϚϯυՃ #import <Cordova/CDVPlugin.h> #import <Cordova/CDVInvokedUrlCommand.h> #import <AdobeCreativeSDKCore/AdobeCreativeSDKCore.h> #import <AdobeCreativeSDKImage/AdobeCreativeSDKImage.h>
@interface AviaryImageEdit : CDVPlugin <AdobeUXImageEditorViewControllerDelegate> { AdobeUXImageEditorViewController *editorController; NSString *callbackId; } - (void)launch:(CDVInvokedUrlCommand*)command; @end ίϚϯυએݴ
Plugin࡞ ίϚϯυՃ - (void)launch:(CDVInvokedUrlCommand*)command { [[AdobeUXAuthManager sharedManager] setAuthenticationParametersWithClientID:@"Client ID" clientSecret:@"Client
Secret" enableSignUp:NO]; callbackId = command.callbackId; NSString *path = (NSString *) [command.arguments objectAtIndex: 0]; UIImage *imageToEdit = [UIImage imageWithContentsOfFile: [path substringFromIndex: 7]]; editorController = [[AdobeUXImageEditorViewController alloc] initWithImage:imageToEdit]; [editorController setDelegate: self]; [super.viewController presentViewController:editorController animated:YES completion:nil]; }
Plugin࡞ ίϚϯυՃ - (void)launch:(CDVInvokedUrlCommand*)command { [[AdobeUXAuthManager sharedManager] setAuthenticationParametersWithClientID:@"Client ID" clientSecret:@"Client
Secret" enableSignUp:NO]; callbackId = command.callbackId; NSString *path = (NSString *) [command.arguments objectAtIndex: 0]; UIImage *imageToEdit = [UIImage imageWithContentsOfFile: [path substringFromIndex: 7]]; editorController = [[AdobeUXImageEditorViewController alloc] initWithImage:imageToEdit]; [editorController setDelegate: self]; [super.viewController presentViewController:editorController animated:YES completion:nil]; } Client ID, Secretઃఆ
Plugin࡞ ίϚϯυՃ - (void)launch:(CDVInvokedUrlCommand*)command { [[AdobeUXAuthManager sharedManager] setAuthenticationParametersWithClientID:@"Client ID" clientSecret:@"Client
Secret" enableSignUp:NO]; callbackId = command.callbackId; NSString *path = (NSString *) [command.arguments objectAtIndex: 0]; UIImage *imageToEdit = [UIImage imageWithContentsOfFile: [path substringFromIndex: 7]]; editorController = [[AdobeUXImageEditorViewController alloc] initWithImage:imageToEdit]; [editorController setDelegate: self]; [super.viewController presentViewController:editorController animated:YES completion:nil]; } ฤूϏϡʔੜɾදࣔ
Plugin࡞ Delegateઃఆʢอଘʣ - (void)photoEditor:(AdobeUXImageEditorViewController *)editor finishedWithImage:(UIImage *)image { // Handle
the result image here NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString * basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; NSData *binaryData = UIImagePNGRepresentation(image); [binaryData writeToFile:[basePath stringByAppendingPathComponent: @"result.png"] atomically: YES]; CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString: @"save"]; [editorController dismissViewControllerAnimated: YES completion: nil]; [self.commandDelegate sendPluginResult:pluginResult callbackId:callbackId]; }
Plugin࡞ DelegateઃఆʢΩϟϯηϧʣ - (void)photoEditorCanceled:(AdobeUXImageEditorViewController *)editor { // Handle cancellation here
CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString: @"cancel"]; [editorController dismissViewControllerAnimated: YES completion: nil]; [self.commandDelegate sendPluginResult:pluginResult callbackId:callbackId]; }
༻্ͷҙ • iOS, Web؆୯ • Androidͦͦ͜͜؆୯ • ωοτϫʔΫ͕ଓ͞Ε͍ͯΔલఏ • SDKͷߋ৽ϖʔε͕ૣ͍
ࠂ
DojoCon Japan 2016 20168݄27ʢʣ։࠵ʂ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠