- 64 名前:33 mailto:sage [2007/03/05(月) 20:46:14 ]
- 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; }
|

|