int d1,x1,y1;
Bitmap _bmp = new Bitmap(300, 300); //表面
Bitmap _bmp2 = new Bitmap(@"C:/test.jpg"); //裏面
Rectangle srcRect = new Rectangle(0, 0, 300, 300);
GraphicsUnit units = GraphicsUnit.Pixel;
protected override void OnPaint(PaintEventArgs e)
{
if (d1 == 0) init();
x1 = 0;
y1 = 0;
srcRect.X = 0;
srcRect.Y = 0;
srcRect.Width = 300;
srcRect.Height = 300;
//常に表面を表示
e.Graphics.DrawImage(_bmp, x1, y1, srcRect, units);
}
private void init()
{
//ここは最初に1度だけやることを書く
//試しに裏の横50から100切り取って表へコピー
Graphics g = Graphics.FromImage(_bmp);
x1 = 0; //表X座標
y1 = 0; //表Y座標
srcRect.X = 50; //裏X座標
srcRect.Y = 0; //裏Y座標
srcRect.Width = 100; //転送X幅
srcRect.Height = 300; //転送Y幅
g.DrawImage(_bmp2, 0, 0, srcRect, units);
g.Dispose();
d1 = 1;
}