C# ile bir vektorel cizim programi basit bisi
Tarih
28/04/2010 11:00
Konu Sahibi
hatice-kumru
Yorumlar
0
Okunma
584
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



Merhaba arkadaşlar.

Bu makalemde sizlere C#  ın

Kod:
using System.Drawing;


kütüphanesi kullanarak görsel bir program yapacağım .
Bu projemde formun tam merkezinde kırmızı renkli bir kare olacak ve bu kare formun kenarlarına kadar spiral hareketler yaparak gidecek.
Kare şeklindeki grafik  formun kenarına geldiğinde yeniden spiral hareketler yaparak formun merkezine gelecek.
Yani formun kenarına doğru giderken büyüyen spiraller,formun merkezine doğru giderken ise küçülen spiral şeklinde dönen bir kırmızı kare şeklimiz olacak.
Şimdi projenin kod ve tasarım kısmını sizinle paylaşacağım simple-smile.png
Tasarım kısmı olan form ekranıma sadece kare şeklini atacağım bir picturebox ilave ediyorum.


resim



Kod kısmı ise aşağıdaki gibidir.


Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication5
{
public partial class Form1 : Form
{
bool bak = true;
int angle = 0;
int radius = 0;
int angleChange = 10;
int centerX;
int centerY;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.Width = 800;
this.Height = 800;
Bitmap bm = new Bitmap(100, 300);
using (Graphics gr = Graphics.FromImage(bm))
{
// Draw
gr.Clear(Color.Red);
}
pictureBox1.Image = bm;
centerX = this.Width / 2;
centerY = this.Height / 2;
Point a = new Point(centerX, centerY);
pictureBox1.Location = a;
timer1.Start();
}
private double deg2rad(int deger)
{
return deger * (Math.PI / 180);
}
private void timer1_Tick(object sender, EventArgs e)
{
if( bak ){
double radian = deg2rad(angle);
Point yer = new Point(Convert.ToInt32(centerX + radius * Math.Cos(radian)), Convert.ToInt32(centerY + radius * Math.Sin(radian)));
pictureBox1.Location = yer;
angle += angleChange;
angle %= 360;
radius += 5;
if (radius == this.Width / 2) {
bak=false;
}
}
else {
double radian = deg2rad(angle);
Point yer = new Point(Convert.ToInt32(centerX + radius * Math.Cos(radian)), Convert.ToInt32(centerY + radius * Math.Sin(radian)));
pictureBox1.Location = yer;
angle += angleChange;
angle %= 360;
radius -= 5;
if (radius == 0) {
bak = true;
}
}
}
}
}




Form ekranınıza aşağıdaki gibi kırmızı renkli spiral hareket eden bir grafik şekli gelmiş olacak.(spiral hareketi tabiki şu an şekilde göremiyorsunuz fakat kodları çalıştırdığınızda göreceksiniz Img-grin)

1-300x269.jpg 

Grafik programlama uygulamalarımdan ilkini sizlerle paylaşmış oldum.
Herkese iyi akşamlar dilerim.


EDİT:
Konuya eklenen açıklama Nurdan AKMAN'ın aşağıdaki bağlantıdaki anlatımından alıntı yapılmıştır.

Kod:
http://www.kodumundunyasi.net/c/c-grafik-programlama-ornek-uygulama-1.html

Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi



Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya