Увеличение масштаба картинки по вертикали

Необходимо по нажатию кнопки растянуть картинку, загруженную в picturebox, по вертикали в два раза Написал код, но он работает только когда высота картинки равна ее ширине, в других случаях происходит ошибка (на скриншоте). Как исправить код, чтобы возможно было работать с неквадратными изображениями?ошибка при работе с неквадратными изображениями

Код:

private: System::Void button9_Click(System::Object^ sender, System::EventArgs^ e) {
if (pictureBox1->Image)
{
    Bitmap^ img1 = gcnew Bitmap(pictureBox1->Image);
    Bitmap^ img2 = gcnew Bitmap(img1->Height, (img1->Width)*2);
    for (int i = 0; i < img1->Width; i++)
    {
        for (int j = 0; j < img1->Height; j++)
        {
            Color cl1 = img1->GetPixel((i), (j));
            Color cl2 = Color::FromArgb(cl1.R, cl1.G, cl1.B);
            img2->SetPixel(i, 2 * j, cl2);
            img2->SetPixel(i, 2 * j + 1, cl2);
        }
    }
    pictureBox1->Image = img2;
}
else
    MessageBox::Show("Ошибка, картинка не загружена");
}

Ответы (0 шт):