Pracuji na contact manager desktop aplikace v C# Windows forms a já jsem v současné době snaží přidat avatar image oříznutí funkce. Obraz je předán z jedné formy do druhé bez problémů. Nicméně, snímek po oříznutí není předán zpět na přihlašovací formulář, bez ohledu na to, co dělám. Snažil jsem se změnit obrázek na Přihlašovací formulář přetížení konstruktoru a vytváření nového objektu na oříznutí obrazu. Dostávám takové chyby však:
Systém.ArgumentOutOfRangeException: "Parametr musí být kladný a < Výška. (Parametr "y")"
Výjimka dochází, na Barvu pxlColor' line.
Plodiny metoda, kde oříznuté obraz je vytvořen:
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;
}
Obraz je správně zobrazen na pictureBox2.Obraz pole. Konstruktor z Přihlašovacího formuláře:
public Login_Register_Form(Bitmap croppedImage)
{
this.croppedPicture = (Image)croppedImage;
pictureBoxProfileImage.Image = this.croppedPicture;
}
Už jsem udělal nějaký výzkum v této věci a zjistil, že výše uvedené chyby by mohlo být způsobeno různých velikostí obrazového pole. Po provedení jejich velikost je stejná, NullObjectReference došlo na pictureBoxProfileImage.Image=.croppedPicture;' line.
Systém.NullReferenceException: "odkaz na Objekt není nastaven na instanci objektu."
Snažil jsem se kolem obou Bitmap a Obrazových proměnných, výsledek je podobný v obou případech. Jakýkoliv pomoci chtěl bych být appraciated.
Na zdraví, Filip