简体   繁体   中英

Drawing a point in an image in C#

I have an image with the dimensions of 100x50 and I want to draw a dot in the center - ie at 50x25. How would I do this?

        Image img = pictureBox1.Image;

        Graphics g = Graphics.FromImage(img);

        g.DrawEllipse(Pens.DarkBlue, new Rectangle(50, 25, 1, 1));

        g.DrawImage(img, new Point(0, 0));

        img.Save("d:\\img.Jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);
Graphics g = pictureBox1.CreateGraphics();
g.DrawEllipse(Pens.Black, new Rectangle(50, 25, 1, 1));

look here for saving the picture

it does not draw on form load so you should add your code in form paint event :

private void Form1_Paint(object sender, PaintEventArgs e)
    {
        Application.DoEvents();
        Graphics g = pictureBox1.CreateGraphics();
        g.DrawEllipse(Pens.DarkBlue, new Rectangle(120, 90, 1, 1));
    }

你可以使用setPixle()函数。

try this for other question :

        Rectangle bounds = new Rectangle(10, 20, 50, 60);
        Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height);

        Graphics g = Graphics.FromImage(bitmap);
        g.CopyFromScreen(Point.Empty,Point.Empty, bounds.Size);

        bitmap.Save("d:\\img.Jpeg", System.Drawing.Imaging.ImageFormat.Jpeg);

this code will capture screen with bound of bounds rectangle.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM