Eigengrau
Kilopat
- Katılım
- 31 Mayıs 2017
- Mesajlar
- 86
Daha fazla
- Cinsiyet
- Erkek
Herkese iyi akşamlar dilerim.
"Tıklanan iki noktayı eksen kabul eden çizginin etrafında aynalama yapan programı yazınız." şeklinde bir ödevim var. Aynalama kodum var ama "Tıklanan iki noktayı eksen kabul eden çizgi" kısmında takıldım.
Aynalama kodum bu şekilde fakat geri kalanını nasıl yapacağım hakkında bir fikre varamadım. Yardımcı olabilir misiniz?
"Tıklanan iki noktayı eksen kabul eden çizginin etrafında aynalama yapan programı yazınız." şeklinde bir ödevim var. Aynalama kodum var ama "Tıklanan iki noktayı eksen kabul eden çizgi" kısmında takıldım.
C#:
private void bttnAYNALAMA_Click(object sender, EventArgs e)
{
Color OkunanRenk;
Bitmap GirisResmi, CikisResmi;
GirisResmi = new Bitmap(pictureBox1.Image);
int ResimGenisligi = GirisResmi.Width;
int ResimYuksekligi = GirisResmi.Height;
CikisResmi = new Bitmap(ResimGenisligi, ResimYuksekligi);
double x2 = 0, y2 = 0;
//Taşıma mesafelerini atıyor.
int x0 = ResimGenisligi/2;
int y0 = ResimYuksekligi/2;
for (int x1 = 0; x1 < (ResimGenisligi); x1++)
{
for (int y1 = 0; y1 < (ResimYuksekligi); y1++)
{
OkunanRenk = GirisResmi.GetPixel(x1, y1);
x2 = x1 + 2*(x0-x1);
y2 = y1 ;
if (x2 > 0 && x2 < ResimGenisligi && y2 > 0 && y2 < ResimYuksekligi)
CikisResmi.SetPixel((int)x2, (int)y2, OkunanRenk);
}
}
pictureBox2.Image = CikisResmi;
}
Aynalama kodum bu şekilde fakat geri kalanını nasıl yapacağım hakkında bir fikre varamadım. Yardımcı olabilir misiniz?