Я хочу, чтобы изображения JPG, добавленные к прикреплению электронной почты, были 250 кБ или меньше. Я обнаружил, что для изображений в формате JPG это очень нелинейно, поэтому я сделал несколько тестов и решил, что максимум 2000000 пикселей, который я могу разрешить.Изменение размера изображения до приблизительного количества пикселей
Так что теперь мне нужно изменить размер каждого изображения до 2000000пикселей или значение как можно ближе. Это звучит совершенно невозможно:
x2*y2 = 2000000
x2/y2 = x/y //The aspect ratio must be the same
Так в чем же решение для этого?
Моих мысли об этой проблеме:
- Для
NxN
изображений, коэффициент равен 1. (N
=N
конечно) - За 9 пикселей и соотношение 1:
x = y = sqrt(9) = 3
- Для
NxM
изображений, гдеN!=M
иM∨N=1
отношение равно либо 1/M, либо N/1. Дляp
пикселей изображения тогда будутx=p
y=1
или наоборот.
С точки 3. Я знаю, что оба X и Y представляют собой значения между 1
и sqrt(p)
.
Вы хотите повторно обработать большие изображения на более мелкие или просто запретить пользователю загружать их на свой лимит размера? –
Измените размеры только больших изображений. И да, они должны быть изменены, а не отказались. –
[и поэтому они должны] (http://www.php.net/manual/en/function.imagecopyresized.php) – samayo