Informatika gyűjtemény

Egy szinttel feljebb Grafika C#-hoz

2004050607080910

NézetNyomtat

C#/.NET-ben kicsit szivatás a grafika, úgyhogy egy segédprogrammal fogjuk csinálni. Még nem teljesen ilyen lesz, de ki lehet próbálni.

Letöltés

Letöltés

Egy sima konzol alkalmazást kell létrehozni, de...
  • Baloldalt jobbklikk a megoldás/solution nevére, Add -> Existing Item... add hozzá a projektedhez a letöltött fájlt. (Válaszd pl a másolást)
  • A projektnév alatt jobbklikk arra, hogy References: Add reference. Két dolog kell a hosszú listából: System.Windows.Forms és System.Drawing.
Majd csinálok képernyőképeket.

Példa

Hosszúnak tűnik, de sok benne a komment.
using System;
using System.Drawing;
using Bdg;

class Program
{
    public static void Main(string[] args)
    {
        Console.Write("Ha ki akarsz lépni, nyomj le egy billentyűt a grafikus ablakban.");
        
        BdgGraphic.Start("Helló világ", 400, 400);
        
        BdgGraphic.FillRectangle(Color.Red, 10, 10, 200, 200);
        BdgGraphic.FillRectangle(Color.Blue, 70, 70, 100, 30);
        BdgGraphic.DrawLine(Color.Black, 10, 10, 200, 200);
        
        
        BdgGraphic.DrawEllipse(Color.Green, 150, 100, 30, 60);
        BdgGraphic.FillEllipse(Color.LemonChiffon, 100, 150, 60, 30);
        
        for (int i = 0; i < 100; i++) {
            BdgGraphic.DrawPixel(Color.Green, 10+i, i*2);
        }
        
        
        //A tényleges kirajzolás csak ennek hatására történik meg.
        //Eddig a kép lehet, hogy csak a memóriában "pihen".
        BdgGraphic.Flush();
        
        //bool[] downButtons;
        while (BdgGraphic.KeyAvailable == false)
        {
            int x, y;
            x = BdgGraphic.MouseX;
            y = BdgGraphic.MouseY;
            
            /*
            downButtons = BdgGraphic.MouseButtons;      
            if (downButtons[0]) {
                BdgGraphic.FillRectangle(Color.Red, x-4, y-4, 8, 8);
                BdgGraphic.Flush();
            } else if (downButtons[1]) {
                BdgGraphic.FillRectangle(Color.Green, x-4, y-4, 8, 8);
                BdgGraphic.Flush();
            } else if (downButtons[2]) {
                BdgGraphic.FillRectangle(Color.Blue, x-4, y-4, 8, 8);
                BdgGraphic.Flush();
            }
            */
            BdgGraphic.FillRectangle(Color.Azure, x-4, y-4, 8, 8);
            BdgGraphic.Flush();
            
        }
        Console.Write("Ezt nyomtad meg, szóval kilépünk. "+BdgGraphic.ReadKey());
        //Console.ReadKey(true);
        
        //ablak bezárása
        BdgGraphic.Kill();
    }
}