Delphi APP 開發入門(九)拍照與分享 by superlevin | CodeData
top

Delphi APP 開發入門(九)拍照與分享

分享:

Delphi APP 開發入門(八)SQLite資料庫 << 前情

在眾多行動APP中,除了遊戲類之外,熱門的APP不外乎都會與拍照、分享、地圖等相關的技術有關聯,今天筆者就與朋友們分享Delphi XE6強大的功能,只要透過簡單的設定以及短短二行程式就能實作出一個擁有拍照及分享到Facebook的APP。
一、開啟新專案後,我們在畫面上佈置放置Toolbar元件
螢幕快照 2014-07-01 上午8.21.59
二、接著我們要實作"拍照"以及"分享"的功能,所以在ToolBar上放置二個Button,並藉由Button的StyelLookup屬性分別設為CameraToolbutton與ActionToolButton

螢幕快照 2014-07-01 上午8.22.33

螢幕快照 2014-07-01 上午8.23.08

3.接著我們要放置一個Image,把拍照後的相片顯示在手機上,將Align設為Client填滿。

螢幕快照 2014-07-01 上午8.23.22

4.最後放上ActionList元件完成畫面佈置。

螢幕快照 2014-07-01 上午8.23.32

5.接著我們要實作拍照功能很簡單,只要在拍照的按鈕上選擇 Action -> New Standard Action ->Media Library -> TTakePhotoFromCameraAction。沒錯!Delphi XE6把複雜的拍照功能封裝起來,只要透過設定就行了!螢幕快照 2014-07-01 上午8.24.00

6.由於我們要將 拍完的照片顯示在畫面的Image裡,所以在 OnDidFinishTaking裡要加上以下的程式碼

procedure TForm1.TakePhotoFromCameraAction1DidFinishTaking(Image: TBitmap);
begin
  Image1.Bitmap.Assign(Image);  // 把照片指定到Image中
end;

螢幕快照 2014-07-01 上午8.24.19

7.接著要實作分享功能,也是很簡單只要在分享的按鈕上選擇 Action -> New Standard Action ->Media Library -> TShowShareSheetAction。

螢幕快照 2014-07-01 上午8.25.36

8.同樣的,在分享前我們要把照片設定到分享的內容中,所以需要在OnBeforeExecute(分享框執行前),將照片指定到上面。

procedure TForm1.ShowShareSheetAction1BeforeExecute(Sender: TObject);
begin
  ShowShareSheetAction1.Bitmap.Assign(Image1.Bitmap);
end;

螢幕快照 2014-07-01 上午8.25.54
我們已經把程式寫好了 :)
看一下執行的結果吧

10389687_10152103957751541_4312487323201511786_n

10392551_10152103957726541_3332091004481726662_n

10517982_10152103957686541_6286999957855549005_n

10464053_10152103957641541_6044284592471225414_n查看文章

GitHub原始碼下載 http://github.com/superlevin/XE6CameraAndShare

後續 >> Delphi APP 開發入門(十)REST Client 開發

分享:
按讚!加入 CodeData Facebook 粉絲群

留言

留言請先。還沒帳號註冊也可以使用FacebookGoogle+登錄留言

wwsmzjx07/06

非常好,请教:如何实现给指定的账号分享,如 微信 ,微信号 123456

關於作者

本名林壽山,目前為自由開發者,也喜歡研究易經、奇門遁甲,從事資料庫程式設計、網頁設計、餐飲POS系統開發、iOS Swift行動裝置開發。使用Delphi 16年的7年級前段班生,致力於學習新的事物,希望讓更多人踏入寫程式的不歸路。近期在學校的產業學院講師,主要為PHP Laravel/Codeigniter的網站開發教學教育訓練,希望讓產業跟學術更加無縫接軌。 電子郵件: [email protected] 林壽山的部落格

熱門論壇文章

熱門技術文章