Draw image

image_pdfimage_print



   

/*
Professional Windows GUI Programming Using C#
by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury, 
   Zach Greenvoss, Shripad Kulkarni, Neil Whitlow

Publisher: Peer Information
ISBN: 1861007663
*/
// Change the path(s) if needed. If you have VS.NET write:
// "....Altamira5.bmp" or @"....Altamira5.bmp"
// otherwise
// "Altamira5.bmp"
// and compile with:
// csc Altamira.cs

using System;
using System.Drawing;
using System.Windows.Forms;

namespace Altamira
{
public class Altamira1 : Form
{
    Pen p;
    SolidBrush b, bT = new SolidBrush(Color.Black);
    string path = "Altamira5.bmp";  // change the path if needed
    Image im;
    Font f;

    public Altamira1()
    {
        InitializeComponent();
        MyIni();
    }

    private void InitializeComponent()
    {
        this.SuspendLayout();

        this.ClientSize = new System.Drawing.Size(290, 260);
        this.Text = "Altamira";

        this.ResumeLayout(false);
    }
    private void MyIni()
    {
        Color cP = Color.Gray;
        Color cB = Color.LightGray;

        p = new Pen(cP, 6);
        b = new SolidBrush(cB);
        im = Image.FromFile(path);
        f = new Font(new FontFamily("Times New Roman"), 10);
    }
    static void Main() 
    {
        Application.Run(new Altamira1());
    }
    protected override void OnPaint(PaintEventArgs pea)
    {
        Sketch();
        //SketchDBuf();
    }
    private void Sketch()
    {
        Graphics g = Graphics.FromHwnd(this.Handle);  // <=> g = CreateGraphics();

        g.FillRectangle(b, 4, 4, 260, 220);  // passe-partout
        g.DrawRectangle(p, 4, 4, 260, 220);  // frame
        g.DrawImage(im, 33, 35, 200, 145 );  // image
        g.DrawString("ALTAMIRA", f, bT, 180, 190);  // text

        g.Dispose();
    }
    private void SketchDBuf()
    {
        int hh = 3, w = 260, h = 220;   

        Graphics g;
        Bitmap bm = new Bitmap(w + 2*hh, h + 2*hh);
        g = Graphics.FromImage(bm);  // buffer graphics

        g.FillRectangle(b, hh , hh, w, h);  // passe-partout
        g.DrawRectangle(new Pen(Color.Gray,  2*hh), hh, hh, w, h);  // frame
        g.DrawImage(im, hh + 30, hh + 32, 200, 145);  // image
        g.DrawString("ALTAMIRA", f, bT, 180, 190);  // text

        g = Graphics.FromHwnd(this.Handle);  // real graphics
        g.DrawImage(bm, 1, 1);

        g.Dispose();
    }
}
}


           
          


P01_Altamira.zip( 109 k)
This entry was posted in 2D Graphics. Bookmark the permalink.