top of page

Windows 8 CameraCaptureUI Uygulaması

  • Writer: Sevdanur GENC
    Sevdanur GENC
  • Sep 22, 2012
  • 2 min read

Microsoft, Windows 8 için Windows Runtime adında yeni bir framework tasarlamıştı. İçeriğinde mevcut .Net geliştiricileri için yapılan özellikler bir yana diğer özel bir tarafı ise Metro Style uygulamalarının tasarlanabilmesidir. Bu yeni framework bilindiği üzere VB, C#, C++ ve JavaScript 'i hedeflemektedir. Şimdi dilerseniz C# ve XAML kullanarak bir Metro Style uygulaması geliştirelim. Camera API uygulaması yapabilmemiz için öncelikle Microsoft Visual Studio 2012 RC'de yeni bir metro style projesi oluşturabilmemiz için File->New->Project lokasyonunu kullanıyoruz. Karşımıza gelen pencereden, sol taraftaki templates sekmesinin altında bulunan Visual C# adı altında Windows Metro Style seçeriz. Sağ tarafta Blank App(XAML) 'i seçtikten sonra projenize isim verebilirsiniz. Oluşturulan projenin içeriği sağ taraftaki solution explorer'da görüyoruz. Buradan MainPage.Xaml e isterseniz sol tarafta bulunan toolbox'tan sürükleyip tasarımımızın üzerüne bırakarak isterseniz XAML tarafında kod yazarak uygulamanızın görünümünü tasarlayabilirsiniz.

                      Tasarımımızda kullanacağımız Image ve Button kontrolleri ile ilgili XAML kodları aşağıdadır.

MainPage.XAML Kaynak Kodlari ;

<Page x:Class="WebCamApiApp.MainPage" IsTabStop="false" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:WebCamApiApp" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> <Button Content="Fotoğraf Çek" HorizontalAlignment="Left" Height="86" Margin="549,672,0,0" VerticalAlignment="Top" Width="276" Click="BtnFotografCek_Click"/> <Image x:Name="Photo" HorizontalAlignment="Left" Height="628" Margin="75,39,0,0" VerticalAlignment="Top" Width="1215"/> </Grid> </Page>   Şimdi arayüzümüzün arka planda çalıştıracağı kaynak kodlarını yazalım. BtnFotografCek_Click event'ına ait kodları yazmadan önce gerekli olan using'leri yazalım.

using Windows.Media.Capture;

using Windows.Storage;

using Windows.UI.Xaml.Media.Imaging;

Kameramızı açabilmemiz için gerekli olan kodları yazarken kullanacağımız camera api 'nin yardımı ile yakaladığımız görüntüyü BitmapImage 'de gösterebileceğiz.  BtnFotografCek_Click event'ının kodları;

MainPage.XAML.CS Kaynak Kodlari ;

async private void BtnFotografCek_Click(object sender, RoutedEventArgs e) { var ui = new CameraCaptureUI(); ui.PhotoSettings.CroppedAspectRatio = new Size(16, 9); var file = await ui.CaptureFileAsync(CameraCaptureUIMode.Photo); if (file != null) { var bitmap = new BitmapImage(); bitmap.SetSource(await file.OpenAsync(FileAccessMode.Read)); Photo.Source = bitmap; } } Yazılan kodları inceleyecek olursak; .Net 4.5 ile birlikte gelen özellikler arasında Asenkron Programlama bulunmaktadır. Async anahtar kelimesinin kullanımına dikkat ediniz. Bu yöntem sayesinde senkronizasyon eylemleri gerçekleştiriyor olacağız. Async - Await, C# dili için yeni bir özelliktir.

                Projemize Webcam yeteneklerini ekleyelim. Sağ tarafta Solution Explorer penceresinde bulunan Package.appxmanifest 'i tıklıyoruz. Karşımıza gelen pencerede Capabilities sekmesinden Webcam 'i seçiyoruz.

                            Package.appxmanifest penceresini kapatıyor ve son yapmış olduğumuz bu değişikliği kaydetmiş oluyoruz. Uygulamamızı Local Machine ile çalıştırıyoruz. Uygulama çalıştığı anda tasarladığımız ekran karşımıza geliyor.

                  Fotoğraf Çek Butonunu clicklendikten sonra Karşımıza WebCam'imizi kullanabilmemiz için bir onay mesajı geliyor.

                  Allow ile izin verdikten sonra WebCam'de ki görüntümüz ekrana gelmektedir. Artik fotografinizi WebCam'inizin yardimi ile cekebilirsiniz. Keyifli Calismalar Dilerim.

Recent Posts

See All
Windows 8 Search Contract Uygulamasi

Daha onceden Windows 8 ile veri goruntuleme uygulamai hazirlamistik hatirlayacaginiz gibi. Eger bu makaleye ilk kez ulasiyorsanizda bu linkten yararlanabilirsiniz : https://sevdanurgenc.com/archives/

 
 
 
Windows Azure Platformunda Java Uygulamalari

Windows Azure'u bugune kadar aliskanlik olarak surekli Visual Studio ortaminda anlattik. Ilk baslarda dedigimiz gibi Windows Azure bircok platforma destek vermektedir. Peki .Net haricinde farkli bir d

 
 
 
Windows Phone Local Database Uygulamasi

Windows phone uzerinde Local Database mantigini kullanarak basit bir alis veris listesi uygulamasi yapalim. Listemize ekledigimiz maddeleri Windows Phone uzerinde bir veritabani olusturup bu veritaban

 
 
 

Comments


©2035 by Sevdanur Genc. Powered and secured by Wix

bottom of page