/*
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)