Archive

Posts Tagged ‘csharp’

Free shape file (*.shp) viewer

April 8th, 2009

Download source code (Microsoft Visual C# 2005 Express Edition)
Download executable file

image

Note: This beta version only supports point, line and polygon.

admin General , , , , , , , ,

Drawing wave line in C#

March 31st, 2009

Download source code (Microsoft Visual C# 2005 Express Edition)

 image

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;

namespace Tutorial6
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
            PointF[] pt = new PointF[] {
                new PointF(50,50),
                new PointF(150,50),
                new PointF(200,100),
                new PointF(200,200),
            };
            e.Graphics.DrawLines(Pens.Gray, pt);
            List<PointF> PointList = new List<PointF>();
            float curDist = 0;
            float distance = 0;
            for (int i = 0; i < pt.Length - 1; i++)
            {
                PointF ptA = pt[i];
                PointF ptB = pt[i + 1];
                float deltaX = ptB.X - ptA.X;
                float deltaY = ptB.Y - ptA.Y;
                curDist = 0;
                distance = (float)Math.Sqrt(Math.Pow(deltaX, 2) + Math.Pow(deltaY, 2));
                while (curDist < distance)
                {
                    curDist++;
                    float offsetX = (float)((double)curDist / (double)distance * (double)deltaX);
                    float offsetY = (float)((double)curDist / (double)distance * (double)deltaY);
                    PointList.Add(new PointF(ptA.X + offsetX, ptA.Y + offsetY));
                }
            }
            for (int i = 0; i < PointList.Count - 24; i = i + 24)
            {
                drawWaveLine(e.Graphics, Pens.Black, PointList[i].X, PointList[i].Y, PointList[i + 24].X, PointList[i + 24].Y);
            }
        }

        public void drawWaveLine(Graphics g, Pen pen, float x1, float y1, float x2, float y2)
        {
            float angle = (float)((Math.Atan2(y2 - y1, x2 - x1) * 180 / 3.14159265));
            g.TranslateTransform(x1, y1);
            g.RotateTransform(angle);
            GraphicsPath gp1 = new GraphicsPath();
            Point[] p1 = new Point[] {
                new Point(0,0),
                new Point(3,-3),
                new Point(6,-4),
                new Point(9,-3),
                new Point(12,0),
                new Point(15,3),
                new Point(18,4),
                new Point(21,3),
                new Point(24,0)
            };
            g.DrawLines(pen, p1);
            g.RotateTransform(-angle);
            g.TranslateTransform(-x1, -y1);
        }

    }
}

admin General , , , , , ,

Extract picture in zip file and display in a picture box

March 13th, 2009

We will be using SharpZipLib which can be downloaded from

http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx

Click on the Download for Assemblies for .NET 1.1, .NET 2.0, .NET CF 1.0, .NET CF 2.0

Once you’ve downloaded the ZIP file, extract it and load the ICSharpCode.SharpZipLib.dll depends on the version of .NET you are using by going to Project > Add Reference > Browse.

The following code load the image Sunset.jpg from D:Sunset.zip and display in PictureBox1.

image

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using System.IO;
using ICSharpCode.SharpZipLib.Zip;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        FileStream fileStream;
        ZipFile zipFile;
        ZipEntry zipEntry;
        Stream stream;
        Bitmap bitmap;

        private void Form1_Load(object sender, EventArgs e)
        {
            fileStream = new FileStream("D:\Sunset.zip", FileMode.Open, FileAccess.Read);
            zipFile = new ZipFile(fileStream);
            zipEntry = zipFile.GetEntry("Sunset.jpg");
            stream = zipFile.GetInputStream(zipEntry);
            bitmap = new Bitmap(stream);
            pictureBox1.Image = bitmap;
        }
    }
}

admin General , , ,

Drawing and rotating text on form

March 12th, 2009

image

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.TranslateTransform(100, 100);
            e.Graphics.RotateTransform(45);
            e.Graphics.DrawString("Hello World", new Font("Arial", 20), Brushes.Red, new Point(0, 0), StringFormat.GenericDefault);
        }
    }
}

admin General , , , , , ,

Drawing an anti aliased circle on form

March 9th, 2009

image

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
            e.Graphics.DrawEllipse(Pens.Red, 50, 50, 100, 100);
        }
    }
}

admin General , , , , ,

Drawing a circle on C# form

March 7th, 2009

image

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.DrawEllipse(Pens.Red, 50, 50, 100, 100);
        }
    }
} 

admin General , , , ,