Нахождение процента - PullRequest
0 голосов
/ 01 декабря 2010

Вот проблема. У меня есть картинка, которая будет иметь разную высоту каждый раз в зависимости от загруженной картинки.

Я бы хотел масштабировать это изображение так, чтобы оно помещалось внутри документа с высотой 800 пикселей. Поэтому, если изображение имеет высоту 2560 пикселей, мне нужно выяснить ПРОЦЕНТ, необходимый для снижения высоты пикселя до 750, чтобы он плотно помещался на странице.

Я застрял, пытаясь найти формулу для этой достаточно простой задачи.

Вот мой код:

iTextSharp.text.Image pic = iTextSharp.text.Image.GetInstance(
    image, System.Drawing.Imaging.ImageFormat.Jpeg);

if (pic.Height > pic.Width)
{
    //Maximum height is 800 pixels.
    pic.Height formula goes here....
}
else
{
    //Maximum width is 600 pixels.
    pic.Width formula goes here....
}

Ответы [ 4 ]

5 голосов
/ 01 декабря 2010

Некоторое число p таково, что p * 2560 = 750.Следовательно, p = 750 / 2560 = 0.29296875.

Конечно, убедитесь, что вы делаете деление с плавающей запятой.

4 голосов
/ 01 декабря 2010

Правило трех поможет вам разобраться в этом.

0 голосов
/ 01 декабря 2010

Здесь x - максимальная желаемая высота, y - фактическая высота изображения, а p - процент.

p = x / y;
x = p * y;
y = x / p;

При любых двух вы можете найти другое.

0 голосов
/ 01 декабря 2010

Не знаю, правильно ли я понимаю вашу проблему. Вы имеете в виду что-то вроде этого?

процент = (frameHeight / picHeight) * 100

Пример:

(750/2560) * 100 = 29

Это означает: 2560 * 0,29 = 750

...