Click here to Skip to main content
15,904,503 members
Home / Discussions / C#
   

C#

 
GeneralRe: How do they do this when copying files? Pin
Pete O'Hanlon2-May-13 0:01
mvePete O'Hanlon2-May-13 0:01 
GeneralRe: How do they do this when copying files? Pin
Septimus Hedgehog2-May-13 0:57
Septimus Hedgehog2-May-13 0:57 
GeneralRe: How do they do this when copying files? Pin
Pete O'Hanlon2-May-13 1:00
mvePete O'Hanlon2-May-13 1:00 
GeneralRe: How do they do this when copying files? Pin
Septimus Hedgehog2-May-13 1:23
Septimus Hedgehog2-May-13 1:23 
AnswerRe: How do they do this when copying files? Pin
Abhinav S1-May-13 23:36
Abhinav S1-May-13 23:36 
Questionmodify C# 2008 desktop application Pin
classy_dog1-May-13 16:47
classy_dog1-May-13 16:47 
AnswerRe: modify C# 2008 desktop application Pin
Pete O'Hanlon1-May-13 18:54
mvePete O'Hanlon1-May-13 18:54 
Questionunexpected end of file Pin
miket2144123451-May-13 13:54
miket2144123451-May-13 13:54 
AnswerRe: unexpected end of file Pin
Freak301-May-13 22:26
Freak301-May-13 22:26 
AnswerRe: unexpected end of file Pin
Eddy Vluggen2-May-13 0:30
professionalEddy Vluggen2-May-13 0:30 
QuestionProblem while exporting a aspx page to pdf Pin
Member 1002163430-Apr-13 23:20
Member 1002163430-Apr-13 23:20 
AnswerRe: Problem while exporting a aspx page to pdf Pin
Jasmine25011-May-13 8:40
Jasmine25011-May-13 8:40 
QuestionBest practice to select and copy a file to a remote location? Pin
matleeds30-Apr-13 23:07
matleeds30-Apr-13 23:07 
AnswerRe: Best practice to select and copy a file to a remote location? Pin
Jasmine25011-May-13 8:37
Jasmine25011-May-13 8:37 
AnswerRe: Best practice to select and copy a file to a remote location? Pin
jschell1-May-13 8:41
jschell1-May-13 8:41 
Questionpassword creation in c# winform Pin
Member 1002123530-Apr-13 18:39
Member 1002123530-Apr-13 18:39 
AnswerRe: password creation in c# winform Pin
Richard MacCutchan30-Apr-13 21:42
mveRichard MacCutchan30-Apr-13 21:42 
AnswerRe: password creation in c# winform Pin
GuyThiebaut1-May-13 2:14
professionalGuyThiebaut1-May-13 2:14 
Questionhow to get the value of a control in a process which start with Process.start Pin
Edward_Zhao30-Apr-13 18:11
professionalEdward_Zhao30-Apr-13 18:11 
AnswerRe: how to get the value of a control in a process which start with Process.start Pin
Richard MacCutchan30-Apr-13 21:37
mveRichard MacCutchan30-Apr-13 21:37 
GeneralRe: how to get the value of a control in a process which start with Process.start Pin
Edward_Zhao1-May-13 14:33
professionalEdward_Zhao1-May-13 14:33 
GeneralRe: how to get the value of a control in a process which start with Process.start Pin
Richard MacCutchan1-May-13 21:02
mveRichard MacCutchan1-May-13 21:02 
QuestionSaving DrawLine to Image: SOLVED Pin
Member 792126830-Apr-13 3:34
Member 792126830-Apr-13 3:34 
Hi all,
I'm creating an application that will allow me to draw lines with the mouse and then save them to a file in a graphical format. By dint of trying and trying I have come to the code.

The last problem that I can not solve is that I can only save the 'background' of the image but not the drawed shape.

The program consists of a PictureBox1 and a button1, drawing with the left mouse button, closes the shape with the right button and save the.

Thanks in advance to those who want to give me a tip.


C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        Bitmap bm;
        Graphics g;
        GraphicsPath path = new GraphicsPath();

        Pen redPen;
        Pen blackPen1;
        Pen blackPen2;
        Pen orangePen;

        public Form1()
        {
            InitializeComponent();

            g = pictureBox1.CreateGraphics();

            redPen = new Pen(Color.Red, 2);
            blackPen1 = new Pen(Color.Black, 1);
            blackPen2 = new Pen(Color.Black, 2);
            orangePen = new Pen(Color.Orange, 1);

            bm = new Bitmap(pictureBox1.Width, pictureBox1.Height);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint);
            pictureBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseDown);
            Shown += Form1_Shown;
        }

        ///////////////////////
        private void Form1_Shown(Object sender, EventArgs e)
        {
        }

        private List<Point> polygonPoints = new List<Point>();

        ///////////////////////
        private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
        {
            switch (e.Button)
            {
                case MouseButtons.Left:
                    polygonPoints.Add(new Point(e.X, e.Y));

                    if (polygonPoints.Count > 1)
                    {
                        path.AddLine(polygonPoints[polygonPoints.Count - 2], polygonPoints[polygonPoints.Count - 1]);
                        g.DrawPath(redPen, path);
                    }
                    break;

                case MouseButtons.Right:
                    if (polygonPoints.Count > 2)
                    {
                        path.CloseAllFigures();

                        g.DrawPath(redPen, path);
                        g.FillPath(new SolidBrush(Color.Orange), path);
                    }
                    break;
            }
        }
        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = Graphics.FromImage(bm);

            // Draw grid
            for (int i = 0; i < pictureBox1.Width; i += 10) g.DrawLine(blackPen1, i, pictureBox1.Height, i, 0);
            for (int i = 0; i < pictureBox1.Height; i += 10) g.DrawLine(blackPen1, 0, i, pictureBox1.Width, i);
            g.DrawLine(blackPen2, 0, pictureBox1.Height - 90, pictureBox1.Width, pictureBox1.Height - 90);
            
            //g.Dispose();

            e.Graphics.DrawImageUnscaled(bm, 0, 0);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            bm.Save("c:\\test.png", ImageFormat.Png);
        }
    }
}

AnswerRe: Saving DrawLine to Image Pin
Eddy Vluggen30-Apr-13 4:05
professionalEddy Vluggen30-Apr-13 4:05 
GeneralRe: Saving DrawLine to Image Pin
Member 792126830-Apr-13 5:11
Member 792126830-Apr-13 5:11 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.