delphi android resim etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
delphi android resim etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

17 Temmuz 2014 Perşembe

Delphi android Kameradan ve galeriden resim çekme ve paylaşma

Merhabalar,

Birazdan bahsedeceğim olay embarcaderonun sitesinde mevcuttur ve bende ilk olarak oradan yararlanmıştım. 1-2 Arkadaşımın tekrar tekrar sorması üzerine türkçe bir yazıda elimizde bulunması açısından birşeyler yazmaya karar verdim.

Projeye başlayalım:

İlk olarak boş bir proje açıyoruz.

Projeye en temel olarak 1 adet TImage ve 1 adet TButton koymanız kafidir. Gerisi süslemeye girer ve maksat ekran güzel gözüksün hemen gerekli objeleri ekleyelim.

Eklenenler:
  ToolBar = ToolBar

  KameraBut = TButton
    Align = alRight
    StyleLookup= 'cameratoolbutton'

  KameraResim = TImage
    Align = alClient

  ActionList1 = TActionList




Objelerin yerleşimleri bitirdiğinizde sıradaki işlemimiz butonumuza bir action tanımlamak ve kısa yoldan nasıl yapılacağını resim ile göstereceğim.


Şuandaki işlemimiz resimleri projemize almak olduğuna göre:
1-) TTakePhotoFromLibraryAction = Galeriden foto alma
2-) TTakePhotoFromCameraAction = Kameradan foto alma

Hangi seçeneği uygulamak isterseniz tıklayınca o action tanımlansın.

Tanımlama işleminden sonra yine Event sekmesinden "Action" eventinin sol tarafındaki "+" artı işaretine tıklayarak genişletiniz.

OnDidFinishTaking eventi içerisine aşağıdaki kodu yazarak kameradan çekilen veya galeriden seçilen resimi TImage nesnemize alıyoruz.

procedure TKameraScreen.TakePhotoFromCameraAction1DidFinishTaking(Image: TBitmap);
begin
  KameraResim.Bitmap.Assign(Image);
end;


"Image" nesesi actiondan dönen TBitmap yani seçilen veya çekilen resimdir.

İlk Görünüm:


Resim çekme anı:


 Çekilen resimin TImage içerisine Assign olmuş hali:


Sosyal Paylaşım Butonu:


Tanımlama işleminden sonra yine Event sekmesinden "Action" eventinin sol tarafındaki "+" artı işaretine tıklayarak genişletiniz.

OnBeforeExecute eventi içerisine aşağıdaki kodu yazarak TImage nesnemiz içerisindeki resmi sosyal resim paylaşma eventi ile alıcı uygulamalara gönderiyoruz.


procedure TKameraScreen.ShowShareSheetAction1BeforeExecute(Sender: TObject);
begin
  ShowShareSheetAction1.Bitmap.Assign(KameraResim.Bitmap);
end;