بذارید picedite فاقد تصویر باشه، مقدار picedite.Image ئه null باشه.
ولی اون تصویری که میخواستید در picedite.Image قرار بگیره رو در bmp_image قرار بدهید تا پیش از اینکه نقاشی شروع بشه اون تصویر داخلش باشه :
private void Form1_Load(object sender, EventArgs e)
{
var image = picedite.Image;
picedite.Image = null;
bmp_image = new Bitmap(picedite.ClientSize.Width, picedite.ClientSize.Height);
using (var g = Graphics.FromImage(bmp_image))
{
g.Clear(picedite.BackColor);
g.DrawImage(image, (bmp_image.Width - image.Width) / 2, (bmp_image.Height - image.Height) / 2);
}
}
این کد بالا تصویر رو از picedite.Image به داخل bmp_image منتقل می کنه و البته در وسط picedite رسم می کنه.
اما این کد پایین تصویر رو در ابعاد picedite بزرگ یا کوچیک می کنه :
private void Form1_Load(object sender, EventArgs e)
{
var image = picedite.Image;
picedite.Image = null;
bmp_image = new Bitmap(picedite.ClientSize.Width, picedite.ClientSize.Height);
using (var g = Graphics.FromImage(bmp_image))
{
g.Clear(picedite.BackColor);
var dst = new Rectangle(Point.Empty, bmp_image.Size);
var src = new Rectangle(Point.Empty, image.Size);
g.DrawImage(image, dst, src, GraphicsUnit.Pixel);
}
}