Получить размеры изображения, загруженного в PictureBox - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Подскажите, пожалуйста. Можно как-то вытащить размер изображения (в пикселях) уже масштабированного посредством команды:
 pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; break;
Мне нужно для вывода на печать, т.е.
 e.Graphics.DrawImage(pictureBox1.Image, -40, 172, ???, ???);
Спасибо

Решение задачи: «Получить размеры изображения, загруженного в PictureBox»

textual
Листинг программы
 float x = 654; // Ширина клиентской области
                float y = 466; // Высота клиентской области
                float z1 = pictureBox1.Image.Width; //Ширина загруженного изображения
                float z2 = pictureBox1.Image.Height; //Высота загруженного изображения
 
                float q;  // Коэффициент
                float q1; //Отмасштабированная ширина
                float q2; //Отмасштабированная высота
 
                if (z1 > x | z2 > y)
                {
                    if (z1 > z2)  // z1>x
                    {
                        q = z1 / x;
                        q1 = z1 / q;
                        q2 = z2 / q;
                        if (q2 > y)
                        {
                            q = z2 / y;
                            q1 = z1 / q;
                            q2 = z2 / q;
                            e.Graphics.DrawImage(pictureBox1.Image, -48, 168, q1, q2);  // СХЕМА Bitmap
                        }
                        else
                        {
                            e.Graphics.DrawImage(pictureBox1.Image, -48, 168, q1, q2);  // СХЕМА Bitmap
                        }
                    }
                    if (z2 > z1)  // z2>y
                    {
                        q = z2 / y;
                        q1 = z1 / q;
                        q2 = z2 / q;
                        if (q1 > x)
                        {
                            q = z1 / x;
                            q1 = z1 / q;
                            q2 = z2 / q;
                            e.Graphics.DrawImage(pictureBox1.Image, -48, 168, q1, q2);  // СХЕМА Bitmap
                        }
                        else
                        {
                            e.Graphics.DrawImage(pictureBox1.Image, -48, 168, q1, q2);  // СХЕМА Bitmap
                        }
                    }
                }
                else
                {
                    e.Graphics.DrawImage(pictureBox1.Image, -48, 168, z1, z2);  // СХЕМА Bitmap
                }
            }
        
 
            else
            {
                e.Graphics.DrawImage(pictureBox1.Image, -48, 168, 654, 466);  // СХЕМА Bitmap
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы