Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 24 Май, 2012, 04:17:22

Страниц: [1]
Печать
Автор Тема: Формула для "правильного" сохранения пропорций изображения при изм. размера  (Прочитано 429 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Rotten    ↓ 
09 Январь, 2010, 03:07:41
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 9
Сообщений: 2088
Сила слова: 0.43

Когдато давно в одном задании мне нужно было залить на сервер изображения по 2 копии каждого(с маленьким вариантом для предосмотра и большого для детального(в отельной странице)).
Но была пятница и мне было очень лень делать такое. Да и изображения не такими большими были, что смотрелись при уменьшении простом  ужасно.  Вообщем, я поизвлекал ширины и высоты больших изображений и при выводе каждого - делил на 2 высоту и ширину(если нужно "уменьшить вдвое").....Впрочем, мне этот номер прошел)....Но я в курсе что лучше не шутить с этим, на крайняк если под жд2 впадло писать скрипт/искать в нете то лучше imgMagick'ом воспользоватся на серве..
Но, вопрос остается тот же - до правильных пропорций этим изображениям далеко.
как вычесть правильные пропорции? Например в XnView при изменении размера, когда я уменьшаю высоту, то при нескольких пикселах подряд, высоты остается одной и той же. Как программа "знает" это?......
Я раз подумал что это возможно разница между шириной(если она больше высоты) и высотой(если меньше ширины) и наоборот....Хотя это "путь вникуда". при меньших разрешениях эта разница будет неактуальной(мне так кажется)....
есть какието мысли?
Записан

Жизнь слишком коротка чтобы тратить ее на бестолковое внимание троллям, мудакам, задротам и прочим отбросам общества...
phpdude    ↓ 
09 Январь, 2010, 03:12:15 , спустя 4 минуты 34 секунды
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20784
Сила слова: 1.66

в школе математики не было? если я правильно понял этот текст (а это не вопрос, а хуйня какая то покрытая мраком страха, запугали чтоли?!)) ), то тут банальная математика. проще всего на имагике реализовывать естественно
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Rotten    ↓ 
09 Январь, 2010, 03:20:40 , спустя 8 минут 25 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 9
Сообщений: 2088
Сила слова: 0.43

математика в школе была, но лично тогда я в ней перспективы/смысла мало видел. Слишком много левых алгебраических сложных вычитаний....
А то что нужно для постройки алгоритмов/решений задач(да в то время когда ты даже не думал что будешь заниматься этим) - выбрать для себя из всей этой воды - нужно обладать жестяными нервами)....
Не, ну разве я бы там был заядлым отличником - ботаном))).
Ничего личного - просто есть решения задач которые мозг генерит интуитивно, тоесть до которых несложно догадаться(вычитание процентов, среднего арифметического и тп)..... но иногда бывает такое, что както без идей все и мнений)..
Записан

Жизнь слишком коротка чтобы тратить ее на бестолковое внимание троллям, мудакам, задротам и прочим отбросам общества...
md5    ↓ 
09 Январь, 2010, 03:21:50 , спустя 1 минуту 10 секунд
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10494
Сила слова: 1.19

Rotten, ты пиздец! я не могу твои посты читать!
это ПЬЦЩШУПРТ ПДРУПРДУФРАДР!!! БЛЯТЬ ваще!
 
что тебе надо?
 
пропорцию высчитать или че? в готовых решениях посмотри
Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
Givi    ↓ 
09 Январь, 2010, 05:21:31 , спустя 1 час 59 минут 41 секунду
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 42
Сообщений: 2305
Сила слова: 1.82

Rotten, iMagick сам пропорции считает.
 
А вообще суть примерно такова:
1. Из начального изображения берется пропорция сторон, округляется до десятой/сотой/тысячной и т.д. части. То есть, ширина делится на высоту, и округляется. Выходит, к примеру у НД-видео, 16:9. Итого 1,778.
2. При уменьшении любой из сторон нехитрыми формулами вычисляется размер уменьшения второй стороны так, чтоб пропорции оставались одинаковыми.
 
Второй вариант ещё проще:
1. При уменьшении стороны (любой) вычисляется на сколько процентов она уменьшилась по сравнению с начальным размером и после этого другую сторону уменьшают на такой же процент + делают округление до целого согласно математике.
Вот во втором случае и получается что можно для ширины (к примеру) поставить два размера с разницей в один пиксель, но из-за конечных округлений высоты последняя будет одинаковой по размерам в обоих случаях.
Записан

Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь.
Если человек дурак, то... чур это не я!
Rotten    ↓ 
09 Январь, 2010, 05:58:26 , спустя 36 минут 55 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 9
Сообщений: 2088
Сила слова: 0.43

Givi, спасибо)....то и имел ввиду..)
Думаю первый способ удобнее. И так подойдет если высота больше ширины?( коэффициент равен там 0,000015 например).
Записан

Жизнь слишком коротка чтобы тратить ее на бестолковое внимание троллям, мудакам, задротам и прочим отбросам общества...
Givi    ↓ 
09 Январь, 2010, 11:04:03 , спустя 5 часов 5 минут 37 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 42
Сообщений: 2305
Сила слова: 1.82

Rotten, в любом из случаем подойдет. Проценты - это практически то же самое, только с другой стороны подход + цифры малость другие... но результат одинаковый :)
Записан

Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь.
Если человек дурак, то... чур это не я!
Страниц: [1]
Печать
 

Перейти в: