Evet vizeler bitti.Artık gerçek Dünya'ya dönüş yaptım.:))
Vizeler sırasında Vecdi hoca animasyonlu Windows logosu nasıl yapabileceğimizi sorduydu ve bir resim vermişti.Bu resimde logonun belirli zamanlarda aldığı durumlar var.Bizim yapacağımız bu resmi runtime da dolaşmak ve hızlı bir şekilde ekranda göstermek.Başta WPF ile yapabileceğimi düşündüğüm projeyi animasyon içerisinde Image'ın Source propertysini nasıl değiştireceğimi bulamadığım için mecburen Windows Application'ı seçmek zorunda kaldım.
Öncelikle belirli zaman aralıklarında ve sürekli olarak aynı işi yapacağımız için bir timer oluşturuyoruz.Daha sonra her timer süresinde 38x38'lik bir kareyi mevcut resimden keserek picturebox'a atıyoruz.
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Timers;
using System.Drawing.Imaging;
namespace WindowsLogo
{
public partial class Form1 : Form
{
System.Timers.Timer timer = new System.Timers.Timer(30);
Image analogo;
int oncekiY = 0;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Enabled = true;
analogo = Image.FromFile("xp.bmp");
}
public void timer_Elapsed(object sender, ElapsedEventArgs e)
{
try
{
timer.Enabled = false;
Bitmap temp = new Bitmap(38, 38, PixelFormat.Format24bppRgb);
temp.SetResolution(96, 96);
Graphics g = Graphics.FromImage(temp);
g.DrawImageUnscaled(analogo, 0, oncekiY, 38, 38);
pictureBox1.Image = temp;
if (oncekiY - 38 == -1900)
oncekiY = 0;
else
oncekiY -= 38;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
timer.Enabled = true;
}
}
}
}
Kaynak kodların tamamını ve ilgili resmi buradan indirebilirsiniz.
Servisleri Monitor Edelim
-
[image: 504349_tft_screen_close-up_1] Merhaba Arkadaşlar,
Banka gibi, pek çok farklı sistemin bir arada yer aldığı ve çalıştığı, çoğu
zaman heterojen yap...
2 gün önce
0 yorum:
Yorum Gönder