Bilgisayar Grafiğine Giriş Ders Notları

Benzer belgeler
C# ve SQL Server ile Resim Yükleme ve Login İşlemi

Visual Basic. Dosya İşlemleri


Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

Görsel Programlama 1

Yrd. Doç. Dr. Caner ÖZCAN

5. Hafta Kontrollerin Genel Özellikleri BPR251 Görsel

Bu uygulamayı yapabilmek için SQL Server'da Query Analyzer kullanabilmekle beraber, ADO.NET bilgisine sahip olmanız gerekir.

Visual Studio 2010 veya 2013, Sharp Develop 3.2 programlarını kurabilirsiniz.

12- HAZIR FONKSİYONLAR

Görsel Programlama (Visual Programming)

İNTERNET TABANLI PROGRAMLAMA

HTML Etiketleri Genel Özellikler (Global Attributes)

GÖRÜNTÜ İŞLEME - (2.Hafta)

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

using System; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; using System.Runtime.InteropServices;

KRİPTOANALİZ DERSİ FİNAL ÖDEVİ. PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ

1- adresine girilir. Buradan Adobe Photoshope 5.0 programı bilgisayara indirilip, kurulur.

Visual Basic Windows Window Progr Pr a ogr mlama a

Timer İle arka plan renk değişimi

7 Temmuz Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar

Photoshop programında dosyalar üzerinde işlem yaparken genellikle dosya menüsünden yararlanılır.

VERİ TABANI YÖNETİM SİSTEMLERİ II 8. RAPORLAR VE ACCESS PROGRAMINDA RAPOR OLUŞTURMA

Görsel Programlama (Visual Programming) 2.Hafta

CAEeda ÇÖZÜMÜ YAPILMIŞ NACA 0012 KANADI İÇİN 2B ÇİZİM EĞİTİM NOTU. EDA Tasarım Analiz Mühendislik

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

Docmage.exe dosyasını çalıştırılır ve karşımıza Şekil-1 deki ekran gelecektir.

Ekran 1 : Font Komutları Dosyası ekranı

Android Ders Notları

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx

3 Sql Veri Tipleri. Veritabanı 1

// seçilen dosya ile programımız arasına bir boru hattı açıyoruz StreamReader sr = new StreamReader(dosya_adi, Encoding.GetEncoding(1254));

NESNEYE YÖNELİK PROGRAMLAMA

WEB SİTESİ YÖNETİM PANELİ KULLANMA YÖNERGESİ

WEB SİTESİ YÖNETİM PANELİ KULLANMA YÖNERGESİ

geometrik şekillerin birleşmesinden meydana gelen karmaşık yapılardır. Not: Bütün karmaşık grafikler basit şekillerin birleşmesinden oluşur.

V-RAY FRAME BUFFER. Switch to RGB chanel: Alpha chanel görüntüden hızlı bir şekilde RGB görüntüye geçilir.

HSancak Nesne Tabanlı Programlama I Ders Notları

Site Tasarım Çalışması -3

CHECKBOX, RADIOBUTTON, COMBOBOX. checkbox Kontrolü. özelliği açıklama Alabileceği değer İşaretli olup true, false olmadığı

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Grafik Hazırlama Aracı

Response : Sunucunun istemciye veri yollamasını

Metin Tabanlı İçerik Oluşturma Araçları

BÖLÜM RAPORLAR. Şekil 5.1. Rapor sihirbazı ile rapor oluşturma 1. pencere.

P10 LED TABELA P10 PANEL P10 PANEL PROGRAMI KULLANIM KILAVUZU

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer.

Luca NET Kobi Ticari Yazılımında ilk yapılacaklar

Temel I/O ve String İşlemleri. Programlama Dilleri III

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

HSancak Nesne Tabanlı Programlama I Ders Notları

C# ile NJ Simulatöre Bağlanmak

8. Hafta GroupBox, CheckBox, RadioButton, NumericUpDown, DateTimePicker, PictureBox, Hata Kontrolü

SINIF İÇİ UYGULAMA KODLARI

Data Structures Lab Güz

e-defter Müşteri Web Servisi Dokümanı

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

Visual C# - Görsel Programlama II Örnek Sorular ve Cevaplar

Site Temizlik Projesi Kodları

EKOM WEB DESIGNER PROGRMI KULLANMA KILAVUZ. 1 - Web Sayfası Tasarımı Oluşturma / Var Olan Tasarımı Açma:

Ünite 7. Gelişmiş Nesneler II. Bilgisayar Programcılığı Önlisans Programı GÖRSEL PROGRAMLAMA I. Öğr. Gör. Rıza ALTUNAY

YZM 2105 Nesneye Yönelik Programlama

Kod Listeleri Genel Yapısı

Koordinat Dönüşümleri (V )

PDF. C# Console Örnekleri.

BOOTLOADER MANUAL DOCUMENT

e-icraproplus UYAP Takip Açma ve Sorgulama Uygulaması Kullanım Kılavuzu

MICROSOFT OFFİCE WORD PROGRAMI DOSYA İŞLEMLERİ

ÜNİTE NESNE TABANLI PROGRAMLAMA I İÇİNDEKİLER. Okt. Mustafa AKBUĞA HEDEFLER DOSYA VE KLASÖR İŞLEMLERİ

Bilgisayar Programcılığı. Görsel Programlama-I. Öğr. Gör. Cansu AYVAZ GÜVEN

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz..

ÖĞRENCİ BİLGİ SİSTEMİ NDE Ders Açma İşlemi. Öğrenci ve Bilişim Koordinatörlüğü Aralık 2016 Ankara

BÖLÜM KATMAN OLUŞTURMA (LAYER) Command line: Layer (veya transparent komutu için 'Layer kullanın)

Okul Web Sitesi Yönetim Paneli Kullanımı

SPSS-Tarihsel Gelişimi

Boğaziçi Üniversitesi Bilgi İşlem Merkezi. Web Yönetimi Birimi. Drupal Kullanım Kılavuzu

YZM 2105 Nesneye Yönelik Programlama

Luca Fatura Aktarım İşlemi

HESAP MAKİNASI YAPIMI

GoFeed Kullanıcı Arayüzü


13- DOSYALAR(FILES ) ( using System.IO; // Input Otput ) M.İLKUÇAR - 1

DATECS/ARGOX YAZICILARININ ETİKET TASARIM PROGRAMLARI KULLANMA KILAVUZU EKİ

/*int sayi1, sayi2,toplam=0;

ELEKTRONİK BELGE YÖNETİM SİSTEMİ (EBYS)

7 Temmuz Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar

ENSTİTÜ ONLINE BAŞVURU. /ogrenci/yonetim/enstitubasvuru.aspx

Çoklu Ortam Uygulamaları. FATİH Projesi PARDUS Temel Eğitim Kursu

13 Aralık Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

Ders 7: Form Kontrol Elemanları. barisgokce.com

T.C. İSTANBUL ÜNİVERSİTESİ AKADEMİK KAYIT SİSTEMİ AKADEMİK PERSONEL SINAV İŞLEMLERİ

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 5

SQL SERVER BAĞLANTISI VE TABLOLAR

AHMET SAN KARAMURSEL 2016

İMGE İŞLEME Ders-2. İmge Dosya Tipleri ve Temel İşlemler. (Yrd. Doç. Dr. M. Kemal GÜLLÜ)

Transkript:

Bilgisayar Grafiğine Giriş Ders Notları picturebox1.imagelocation = @"C:\dosyakonum\resimdosyasi.png"; Image img = Image.FromFile(@"C:\dosyakonum\resimdosyasi.png "); picturebox1.image = img; Image img = Image.FromFile(@"C:\dosyakonum\resimdosyasi.png"); int resim_genislik = img.width; int resim_yukseklik = img.height; string gorselkonum = @"C:\dosyakonum\resimdosyasi.png"; using System.IO; System.IO.File.Exists if(file.exists(gorselkonum)) Image img = Image.FromFile(gorselkonum); picturebox1.image = img; else //MessageBox.Show kullanımı için Mesaj,Başlık,Buton,İkon MessageBox.Show("Dosya Bulunamadı","Hata",MessageBoxButtons.OK,MessageBoxIcon.Error);

string gorselkonum2 = @"C:\dosyakonum\resimdosyasi.png"; FileInfo dosya = new FileInfo(gorselkonum2); DateTime dosya_olusturmatarihi = dosya.creationtime; string dosya_tamkonum = dosya.fullname; string dosya_uzantisi = dosya.extension; string dosya_ismi = dosya.name; DateTime son_degisikliktarihi = dosya.lastwritetime; DateTime son_erisimtarihi = dosya.lastaccesstime; long dosyaboyut = dosya.length; //byte olarak //Dosya Seçim Ekranı Oluşturma OpenFileDialog DosyaSecim = new OpenFileDialog(); //Dosya Seçim Ekranında sadece jpg,png,tif uzantılı dosyaların seçilebilir olmasını ayarlıyoruz DosyaSecim.Filter = "Resim Tipi JPG *.jpg Resim Tipi PNG *.png Resim Tipi TIF *.tif"; //Seçili olan dosya türü DosyaSecim.FilterIndex = 2; //Birden fazla dosya seçimi yapılıp yapılamayacağı DosyaSecim.Multiselect = false; //Dosya seçim ekranı başlığı DosyaSecim.Title = "Görsel Seçim Ekranı"; //Açılacak Dosya Seçimi için ön tanımlı olarak masaüstünün gelmesi için string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); DosyaSecim.InitialDirectory = path; //Uyarı Kutusu için seçilen dizinin geçerli olduğunu kontrol ettirme if(dosyasecim.checkpathexists) //Dosya dizini olduğunda yapılacak işlem else //Dosya dizini yoksa yapılacak işlem yada verilecek hata

//Dosya Seçim Kutusu OK butonuna basıldıktan sonra görselin seçildiğini anlıyoruz if (DosyaSecim.ShowDialog() == DialogResult.OK) string secilendosyayolu = DosyaSecim.FileName; string secilendosyaismi = DosyaSecim.SafeFileName; //Seçilen görsel dosyası için Image sınıfının örneği img değişkenine alınıyor Image img = Image.FromFile(secilendosyayolu); //Seçilen görsel dosyası için FileInfo sınıfının örneği inf içine alınıyor FileInfo inf = new FileInfo(secilendosyayolu); picturebox1.image = img; label1.text = secilendosyayolu; //Görsel Konumu string gorselkonum = @"C:\dosyakonum\resimdosyasi.png"; //Image --> Byte Dizisi FileStream fs = new FileStream(gorselkonum, FileMode.Open, FileAccess.Read); //gorsel uzunluğunda byte dizisi oluşturuluyor. byte[] gorsel = new byte[fs.length]; //0. indisten uzunluğu adetince okunuyor fs.read(gorsel, 0, Convert.ToInt32(fs.Length)); //Dosya Kapatılıyor fs.close();

//Görsel Konumu string gorselkonum = @"C:\dosyakonum\resimdosyasi.png"; FileInfo fi = new FileInfo(gorselkonum); string dosyaismi = fi.name; //benzersiz bir ID oluşturuluyor, bilgisayar saati, mac adres vs ile Guid myguid = Guid.NewGuid(); //Yeni dosya ismi için benzersiz isim oluşturuluyor string dosyaismibenzersiz = myguid.tostring() + fi.extension; //Hedef dizin belirtiliyor string hedefdizin = @"C:\dosyakonum\"; if (File.Exists(gorselkonum)) //Dosya kopyalaması yapılıyor (mevcutkonumu, yeni dosya yolu+ismi) File.Copy(gorselkonum, hedefdizin+ dosyaismibenzersiz); MessageBox.Show("Resim Başarıyla Yüklendi"); else MessageBox.Show("Resim Bulunamadı");

//Mevcut Resim Dosyasının Konumu string ResimDizini = @"C:\dosyakonum\resimdosyasi.png"; //Picturebox1 içine belirtilen konumdaki resim ekleniyor picturebox1.image = Image.FromFile(ResimDizini); //PictureBox görünüm türleri sığdırma şeklinde yerleştiriliyor. picturebox1.sizemode = PictureBoxSizeMode.StretchImage; picturebox2.sizemode = PictureBoxSizeMode.StretchImage; picturebox3.sizemode = PictureBoxSizeMode.StretchImage; picturebox4.sizemode = PictureBoxSizeMode.StretchImage; //Görsel içindeki tüm bilgilerin alınması için Bitmap sınıfı kullanılıyor Bitmap bmp = new Bitmap(ResimDizini); //Seçilen görsel genişliği int en = bmp.width; //Seçilen görsel Yüksekliği int boy = bmp.height; //Diğer pictureboxlar için Bitmap sınıfından türetiyoruz. Bitmap rbmp = new Bitmap(bmp); Bitmap gbmp = new Bitmap(bmp); Bitmap bbmp = new Bitmap(bmp); //Döngüler içinde kulllanılacak değişkenler tanımlanıyor. Color p; int a; int r; int g; int b; //Görsel içindeki tüm pixelleri okumak için döngüleri oluşturmamız gerekiyor //Yatay tüm satırlar için for(int yatay = 0; yatay<en; yatay++ ) //Dikey tüm satırlar için for(int dikey = 0; dikey<boy; dikey++) //Mevcut pixelin tüm bilgileri p değişkenine alınıyor. p = bmp.getpixel(yatay, dikey); a = p.a; //Alpha r = p.r; //Red g = p.g; //Green b = p.b; //Blue //Green ve Blue renk değerleri 0 olacak şekilde görsel oluşturmak için rbmp.setpixel(yatay, dikey, Color.FromArgb(a, r, 0, 0)); //Red ve Blue renk değerleri 0 olacak şekilde görsel oluşturmak için gbmp.setpixel(yatay, dikey, Color.FromArgb(a, 0, g, 0)); //Red ve Green renk değerleri 0 olacak şekilde görsel oluşturmak için bbmp.setpixel(yatay, dikey, Color.FromArgb(a, 0, 0, b)); Devamı Diğer Sayfada

//PictureBoxlar içine yeni oluşturulan görseller ekleniyor. picturebox2.image = rbmp; picturebox3.image = gbmp; picturebox4.image = bbmp; //Mevcut Resim Dosyasının Konumu string ResimDizini = @"C:\dosyakonum\resimdosyasi.png"; //Picturebox1 içine belirtilen konumdaki resim ekleniyor picturebox1.image = Image.FromFile(ResimDizini); //PictureBox görünüm türleri sığdırma şeklinde yerleştiriliyor. picturebox1.sizemode = PictureBoxSizeMode.StretchImage; picturebox2.sizemode = PictureBoxSizeMode.StretchImage; //Görsel içindeki tüm bilgilerin alınması için Bitmap sınıfı kullanılıyor Bitmap bmp = new Bitmap(ResimDizini); //Seçilen görsel genişliği int en = bmp.width; //Seçilen görsel Yüksekliği int boy = bmp.height; //ters içiniçin Bitmap sınıfından türetiyoruz. Bitmap ters_bmp = new Bitmap(bmp); Color p; int a; int r; int g; int b; Devamı Diğer Sayfada

//eksilterek saydırabileceğimiz şekilde 2 değişkene en ve boy değerlerini ekle int yataysay = en-1; int dikeysay = boy-1; for (int yatay = 0; yatay < en; yatay++) //Her yatay sıra bittiğinde tersten saydırılacak dikey sayı güncelle. dikeysay = boy - 1; for (int dikey = 0; dikey < boy; dikey++) //Mevcut piksel verilerini al p = bmp.getpixel(yatay, dikey); a = p.a; //Alpha r = p.r; //Red g = p.g; //Green b = p.b; //Blue //dikeysay değerinin 0 dan küçük olmasını engelleme if (dikeysay > 0) //mevcut piksel değerlerini ters sırada olacak şekilde ekliyoruz ters_bmp.setpixel(yataysay, dikeysay, Color.FromArgb(a, r, g, b)); dikeysay--; yataysay--; picturebox2.image = ters_bmp;

//Renk Seçim Penceresi Açma ColorDialog cbox = new ColorDialog(); //Detay Renklerin ve bilgilerin görünmesi cbox.allowfullopen = true; //OK Tuşuna basıldığında yapılacak işlem if(cbox.showdialog() == DialogResult.OK) //Seçilen renk ile ilgili bilgiler SecilenRenk isimli Color türündeki değişkene alınıyor. Color SecilenRenk = cbox.color; //ilgili Label içine bilgiler ekleniyor. lbl_alpha.text += SecilenRenk.A.ToString(); lbl_r.text += SecilenRenk.R.ToString(); lbl_g.text += SecilenRenk.G.ToString(); lbl_b.text += SecilenRenk.B.ToString(); label1.text += SecilenRenk.Name; //Form arkaplan rengi seçilen renk olacak şekilde güncelleniyor. BackColor = SecilenRenk; //Buton rengi seçilen renk olacak şekilde güncelleniyor. btn_renksec.backcolor = SecilenRenk; //BackColor = Color.Red; //BackColor = Color.FromArgb(255, 255, 255, 255); //Seçilen renk parlaklığı float parlaklik = SecilenRenk.GetBrightness(); //Seçilen renk Tonu float ton = SecilenRenk.GetHue(); //Seçilen renk Doygunluğu float doygunluk = SecilenRenk.GetSaturation(); //ilgili Label içine bilgiler ekleniyor. lbl_doygunluk.text += doygunluk; lbl_ton.text += ton; lbl_parlaklik.text += parlaklik; else MessageBox.Show("Renk Seçimi Yapılmadı");

//rastgele işlemleri için Random Sınıfı kullanılıyor Random rnd = new Random(); //Yazılacak Metin string gelenyazi = txt_ifade.text; //Grafik Nesnesi Oluşturuluyor Graphics g = picturebox1.creategraphics(); //Font Seçimi Font fontum = new Font(FontFamily.Families[rnd.Next(100)], 30, FontStyle.Bold); //Fırça Seçimi SolidBrush brushum = new SolidBrush(Color.FromArgb(rnd.Next(255), rnd.next(255), rnd.next(255), rnd.next(255))); //En Boy Belirleme int gorselen = rnd.next(picturebox1.width); int gorselboy = rnd.next(picturebox1.height); //Yazdırma g.drawstring(gelenyazi, fontum, brushum, gorselen, gorselboy);