Форум программистов, компьютерный форум CyberForum.ru

Objective-C

Войти
Регистрация
Восстановить пароль
 
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 583
#1

Вписывание CGsize в другой CGsize с сохранением пропорций - Objective-C

05.08.2013, 18:49. Просмотров 767. Ответов 3
Метки нет (Все метки)

Скажем, у нас есть большой прямоугольник

если нам надо его вписать в маленький прямоугольник с сохранением пропорций, тогда составим велосипед вписывания :

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
-(CGSize) generateScaleSizeBYRectangleBorder: (CGSize) rectSize
                                    ItemSize: (CGSize) ItemSize {
    if (ItemSize.height<=rectSize.height && ItemSize.width<=rectSize.width) {
        return ItemSize;
    }
    
    // анализ высоты
    if (ItemSize.height>rectSize.height) {
        // обнаружено превышение, применяем сдвиг
        float dh = ItemSize.width / ItemSize.height;
        ItemSize.height = rectSize.height;
        ItemSize.width = rectSize.height * dh;
    }
    
    // анализ ширины
    if (ItemSize.width>rectSize.width) {
        // обнаружено превышение, применяем сдвиг
        float dw = ItemSize.height / ItemSize.width;
        ItemSize.width = rectSize.width;
        ItemSize.height = rectSize.width * dw;
    }
    return ItemSize;
}
Objective-C
1
2
3
CGSize s = [self generateScaleSizeBYRectangleBorder:CGSizeMake(100, 100) ItemSize:CGSizeMake(500, 200)];
    
    NSLog(@"s %f %f",s.width, s.height);
хотелось бы узнать: можно ли встроенными средствами CoreGraphics посчитать САБЖ ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.08.2013, 18:49     Вписывание CGsize в другой CGsize с сохранением пропорций
Посмотрите здесь:

Загрузка картинок с сохранением пропорций - PHP
Задача такая нужно загружать в цикле картинки, перетаскиванием в область. При этом сохраняем нужные пропорции Например картинка...

Картинка на всю высоту с сохранением пропорций - HTML, CSS
У меня fixed-блок, в нём картинка, которая должна быть на всю высоту, но максимум на всю ширину. Как такое реализовать? Пропорции должны...

Изменение размера элемента с сохранением его пропорций - Delphi
Помогите решить задачку. Есть Panel. На нем отображается видео. Я хочу сделать так, чтобы у видео сохранялось соотношение сторон при...

Автоматическое изменение размера формы с сохранением пропорций элементов - Visual Basic .NET
Здравствуйте! Нужна помощь, есть программа с большим количеством форм. Все формы в ней FixedSingle и MaximazeBox = False! Задача: ...

Изменить размер изображения с сохранением пропорций, обрезав лишнее - PHP
Доброго времени суток! Не знаете - есть ли библиотека или готовая функция, способная автоматически уменьшать изображения до размеров -...

Распахивание окна программы на внсь экран с сохранением пропорций - C++ Builder
Программу пишу на Embarcadero RAD Studio 10.1 Berlin Нужно чтобы программа разворачивалась во весь экран с сохранением пропорций. Все...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
05.08.2013, 18:57     Вписывание CGsize в другой CGsize с сохранением пропорций #2
Цитата Сообщение от noname_club Посмотреть сообщение
нам надо его вписать в маленький прямоугольник с сохранением пропорций
А где код отрисовки? Может я не понял что это вообще такое?
Есть функция CGRectInset...

Правда, не понял что хотел поведать автор.
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 583
05.08.2013, 19:01  [ТС]     Вписывание CGsize в другой CGsize с сохранением пропорций #3
рисовать ничего не надо. чисто голые расчеты размеров.

поясняющий рисунок

Вписывание CGsize в другой CGsize с сохранением пропорций
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.08.2013, 07:56     Вписывание CGsize в другой CGsize с сохранением пропорций
Еще ссылки по теме:

про смену харда с сохранением данных на другой - Жесткие диски
нынешний хард скоро нагнётся решил купить новый, а всё заново переустанавливать желания особого нет. Вопрос такой: есть ли вариант...

Как перенести файл mdb на другой комп с сохранением настроек?????????? - MS Access
Вообщем у меня на компе есть настроенная БД mdb формата. Там настроен список пользователей и разрешений им на доступ (т.е. чтение,...

Скопировать данные с одного листа на другой с сохранением всего форматирования - VBA
Добрый день, уважаемые форумчане! Прошу вас о помощи. Имеется таблица, и по нажатию на кнопку на одном из листов создается новый...

Скопировать данные с одного листа на другой с сохранением всего форматирования - VBA
Всем привет. Есть 2 файла: общий и свод. В файле общий есть следующие листы: макросы, общий1, общий2. В файле свод есть много листов,...

Вписывание эллипса в четырёхугольник - C#
Нужна программа, где задаётся четырёхугольник точками с соответствующими координатами. После чего программа должна вписать в этот...

Автоматическое вписывание данных - PHP
Здравствуйте, подскажите как можно реализовать подобное? В общем нужно чтобы (не реклама csgoline.ru/history.php) там есть такие данные как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 583
06.08.2013, 07:56  [ТС]     Вписывание CGsize в другой CGsize с сохранением пропорций #4
судя по списку официальных функций.

ни одна не умеет, скажем, умножить размер на один и тот же множитель.

Тема закрыта. Задача решается только через пользовательский код, без применения CGGeometry
Yandex
Объявления
06.08.2013, 07:56     Вписывание CGsize в другой CGsize с сохранением пропорций
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru