Facebook RSS Feed
 

.NET Micro Framework: Bitmap ile Resim Göstermek

Micro Framework ile JPEG, GIF, PNG, TIFF ve BMP resim formatlarını uygulamalarımızda işleyip kullanabiliyoruz. Bunun için Bitmap sınıfından yararlanacağız.

Çalışma Mantığı

Kullanacağımız resim dosyaları, mikrodenetleyicinin flash hafızasında, SD kart üzerinde, USB depolama aygıtı üzerinde yada Internet'teki bir konumda bulunabilir. Uygulamamız sisteme bağlı ekranın çözünürlüğünde bir Bitmap oluşturup, bu Bitmap'in istenilen pozisyonuna resmi yerleştirecektir. Ana Bitmap üzerine birden çok resim ve çizim eklenip istenilen görünüm elde edildikten sonra ise Flush() komutuyla hafızadaki çizim ekrana yansıtılacaktır.

Bitmap nesnesi oluşturabilmek için öncelikle Visual Studio 2010'da bir Micro Framework Console Application oluşturup, proje referansları arasına Microsoft.SPOT.Graphics.dll'i ekleyelim. Program.cs'in namespace'leri arasına da "using Microsoft.SPOT.Presentation;" ve "using Microsoft.SPOT.Presentation.Media;" satırlarını eklediğimizde resim göstermeye hazırız demektir.

Resources Kullanımı

Mikrodenetleyicinin flash hafızasında saklamak istediğimiz kaynak dosyalarını (resim, simge, yazı, ses dosyası...) depolamak için resources dosyasını kullanacağız. Visual Studio Solution Explorer'dan Resources.resx dosyasına çift tıklayarak kaynaklarımızı saklayacağımız Resources penceresine erişebiliyoruz. Bilgisayarımızda olan bir dosyayı eklemek için "Resources.resx" sekmesinden "Add Existing File..." seçeneği ile kaynak dosyası ekleme işlemini gerçekleştirebiliriz.

-

Eklediğimiz dosyalar, Images kategorisi altında görünecektir.

-

Resources içinde depolanan resim dosyalarına erişmek için Resources.BitmapResources.[Dosya Adı] komutunu kullanıyoruz. Bu aşamadan sonra dosya uzantısının bir anlamı kalmadığı için, resim dosyalarını çağırırken dosya uzantısı kullanılmaz.

Uygulama Kodları

Şimdi yapacağımız işlem, 320 x 240 boyutunda bir Bitmap oluşturup orta pozisyonuna resimimizi yerleştirmek olacak. Son adım olarak da Flush() komutuyla hafızadaki resmi ekrana aktarıp resmin sürekli ekranda kalması için Main Thread'i uyutacağız.

using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Presentation;
using Microsoft.SPOT.Presentation.Media;
 
namespace MFGraphics2
{
    public class Program
    {
        public static void Main()
        {
            Bitmap bmp = new Bitmap(320, 240); //Simulatör ekranı boyutunda bir Bitmap oluşturalım.
 
            bmp.DrawImage(10, 20, //Sol üst noktanın X ve Y koordinatları.
                Resources.GetBitmap(Resources.BitmapResources.TurkBayragi), //Gösterilecek resim.
                0, 0, //Resmin sol üst noktasından içeri doğru kırpılacak alan.
                300, 200); //Resmin çizilecek boyutu. Sağ alt köşesinden kırpmak için
                           //bu değeri daha küçük yazabilirsiniz.
 
            bmp.Flush(); //Bitmap'i ekrana yansıtalım.
            Thread.Sleep(Timeout.Infinite); //Main Thread'i uyutalım.
        }
    }
}

Debug Zamanı

Uygulamayı simulatör üzerinde çalıştırdığımızda, eklediğimiz resim ekranda görünecektir.

-

Visual Studio 2010 için kaynak kodları buradan indirebilirsiniz.




 
Hoşgeldiniz!
Son güncelleme: 25.12.2016
-
Yeni Teknik Yazılar
Latte Panda İncelemesi
Turta IoT HAT İncelemesi
USB Gamepad Kullanımı
GPIO Kullanımı
VEML6075 UV Sensör Kullan...
-
İlgili Gruplar
.NET MF ve Gadgeteer FB Grubu
İst. IoT & Wearables Meet-up
-
 

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.Copyright © 1999 - 2017, Umut Erkal. Bu materyal, "Creative Commons Public Licence" ile sunulmuştur.
Kaynak göstererek ve ücretsiz olarak, aynı şartlar altında paylaşabilir ve kullanabilirsiniz. | Kullanım Sözleşmesi