Увеличение масштаба картинки по вертикали
Необходимо по нажатию кнопки растянуть картинку, загруженную в 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("Ошибка, картинка не загружена");
}