我工作上的联系人管理的桌面应用程序在C#窗形式和我目前正在试图增加阿凡达图像剪裁的功能。 图像正在被传递一种形式到另一个没有任何问题。 然而,之后的图像剪裁是不正传回到登录的形式,无论我在做什么。 我试图改变的图片中登录的形式通过载有的构造和创建一个新的对象后剪切图像。 我收到这样的一个错误,但是:
系统。如:"参数必须积极和<的高度。 (Parameter'y')"
除发生在'彩色pxlColor'的线。
作物方法在裁剪的图像是创建:
private void button_Crop_Image_Click(object sender, EventArgs e)
{
Cursor = Cursors.Default;
Bitmap bitmap2 = new Bitmap(pictureBox1.Width, pictureBox1.Height);
pictureBox1.DrawToBitmap(bitmap2, pictureBox1.ClientRectangle);
Bitmap croppedImage = new Bitmap(rectW, rectH);
for (int x = 0; x < rectW; x++)
{
for (int y = 0; y < rectH; y++)
{
Color pxlColor = bitmap2.GetPixel(cropX + x, cropY + y);
croppedImage.SetPixel(x, y, pxlColor);
}
}
pictureBox2.Image = (Image)croppedImage;
Login_Register_Form login = new Login_Register_Form(croppedImage);
pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
}
图像是被正确地显示在pictureBox2.图像的领域。 构造从登录的形式:
public Login_Register_Form(Bitmap croppedImage)
{
this.croppedPicture = (Image)croppedImage;
pictureBoxProfileImage.Image = this.croppedPicture;
}
我已经做了一些研究在这个问题和找到出,上述错误可能是由于不同大小的图像的领域。 后使他们的大小相等,NullObjectReference发生在'pictureBoxProfileImage.像=这一点。croppedPicture;'的线。
系统。NullReferenceException:"对象参没有设置的一个实例,一个对象。"
我试图通过这两位图和图像变量,结果是类似的情况。 任何帮助将appraciated.
干杯, 菲利普