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

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原始碼下載 https://github.com/superlevin/XE6CameraAndShare

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

posted @ 2014-12-30 23:28  老榕树  阅读(476)  评论(0编辑  收藏  举报