Hirdetés

Új hozzászólás Aktív témák

  • #hpq

    aktív tag

    Sziasztok!

    C# vizsgára való készülés során (Visual Studio)-ban szeretnék kirajzoltatni egy meghatározott ponttól pontig egy szakaszt amikor lenyomom a button billentyűt.
    Az lenne a kérdésem, hogy mi a hiba mert nem jelenik meg? (Vizsgán nem lehet használni a paint eventet, csak pontokkal lehet kirajzoltatni.)

    Előre is nagyon köszönöm a segítségeteket!
    Forráskód:

    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 WindowsFormsApp6
    {
    public partial class Form1 : Form
    {
    public Color szín = Color.Red;
    int x1 = 10; int y1 = 10; int x2 = 100; int y2 = 100;

    //függvényeim
    public void Szakasz2(Bitmap bmp, int x1, int y1, int x2, int y2, Color szín)
    {

    int hx = x2 - x1;
    int hy = y2 - y1;
    int h = Math.Max(Math.Abs(hx), Math.Abs(hy));
    if (h == 0)
    {
    bmp.SetPixel(x1, y1, szín);
    }
    else
    {
    double lx = 1.0 * hx / h;
    double ly = 1.0 * hy / h;
    double x = x1; double y = y1; bmp.SetPixel((int)x, (int)y, szín);
    for (int k = 1; k <= h; ++k)
    {
    x += lx; y += ly; bmp.SetPixel((int)x, (int)y, szín);
    }
    }
    Refresh();
    }

    //eseményeim
    public Form1()
    {
    InitializeComponent();
    }

    private void pictureBox1_Click(object sender, EventArgs e)
    {
    //Console.WriteLine("x1:{0},y1:{1},x2:{2},y2:{3}", x1, y1, x2, y2);
    Szakasz2((Bitmap)pictureBox1.Image,x1,y1,x2,y2,szín);
    }

    private void button1_Click(object sender, EventArgs e)
    {

    }

    private void Form1_Load(object sender, EventArgs e)
    { pictureBox1.Image = new Bitmap(pictureBox1.Width, pictureBox1.Height); }
    }

    }

    // -

Új hozzászólás Aktív témák