Eu estou trabalhando em contato com o gerenciador de aplicativos de desktop em C# Windows forms e atualmente estou tentando adicionar imagem de avatar recurso de corte. A imagem que está sendo passada de uma forma para outra, sem quaisquer problemas. No entanto, a imagem após o corte não está sendo passado de volta para o formulário de login, não importa o que eu estou fazendo. Eu estava tentando mudar a imagem no formulário de Login por sobrecarga de construtor e a criação de um novo objeto sobre o recorte da imagem. Eu recebo um erro, no entanto:
Do sistema.ArgumentOutOfRangeException: "Parâmetro deve ser positivo e < Altura. (O parâmetro 'y')"
A Exceção ocorre na 'Cor pxlColor' de linha.
Cortar método onde uma imagem cortada é criado:
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;
}
A imagem está sendo exibida corretamente no pictureBox2.O campo de imagem. Construtor do formulário de Login:
public Login_Register_Form(Bitmap croppedImage)
{
this.croppedPicture = (Image)croppedImage;
pictureBoxProfileImage.Image = this.croppedPicture;
}
Eu já fiz algumas pesquisas em que o assunto e descobri que o erro mencionado anteriormente, pode ser devido a diferentes tamanhos de campos de Imagem. Depois de fazer o seu tamanho igual, um NullObjectReference ocorreu no 'pictureBoxProfileImage.Imagem = isso.croppedPicture;' linha.
Do sistema.NullReferenceException: "referência de Objeto não definida para uma instância de um objeto."
Eu tentei passar tanto de mapa de bits e Imagem de variáveis, o resultado é semelhante em ambas as situações. Qualquer ajuda seria appraciated.
Felicidades, Filip