|
■No24954 (επιστημη さん) に返信
> それ見せて。そいつをクラス外に追い出せばいいのよね。
すみません。プログラムがなくなってました。その元になったコードを表示します。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Bitmap bmp = new Bitmap(@"G:\キャラクターCG\NScripter\メイド\M01.bmp");
// 透過色に白を指定して画像を作成する
bmp.MakeTransparent(System.Drawing.Color.White);
Graphics g = CreateGraphics();
Rectangle rect = new Rectangle(bmp.Width / 2, 0, 639, bmp.Height);
g.DrawImage(bmp, 300, 479 - bmp.Height, rect, GraphicsUnit.Pixel);
// リソースを解放します
bmp.Dispose();
}
private void button2_Click(object sender, EventArgs e)
{
this.BackgroundImage = Properties.Resources.bg01;
}
private void button3_Click(object sender, EventArgs e)
{
this.BackgroundImage = Properties.Resources.bg02;
}
private void button4_Click(object sender, EventArgs e)
{
Bitmap bmp = new Bitmap(@"G:\キャラクターCG\NScripter\メイド\M01.bmp");
// 透過色に白を指定して画像を作成する
bmp.MakeTransparent(System.Drawing.Color.Black);
Graphics g = CreateGraphics();
Rectangle rect = new Rectangle(0, 0, bmp.Width / 2 - 1, bmp.Height);
g.DrawImage(bmp, 300, 479 - bmp.Height, rect, GraphicsUnit.Pixel);
// リソースを解放します
bmp.Dispose();
}
}
このFORM1をIllustクラスに変えて 各button1_Clickイベントをペイントイベントにしてビットマップファイル名を引数にして各FORMから呼ぶようにできればいいわけです。(ダブルバッファリング入っていませんけど) これだとボタン3つ押して一つの画像ができます。この動作を一つでできるようにしてどこからでも呼べるようにするのが目的です。
|