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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Картинки в NORETINA устройствах http://www.cyberforum.ru/objective-c/thread933226.html
Думаю некоторые сталкивались с тем что обычные устройства не умеют правильно интерполировать(сгладить) изображение, если они превышает размеры своего контейнера. Если на retina с этим делом все...
Objective-C Mac OS open-edit-save image? Здраствуйте! Мне нужно сосздать бистро програмку под Мас ОС простенькую. Которая откриваэт изображения, потом что там изменяет (что небуть) и затем сохраняет Самому разобратся пока не получается... http://www.cyberforum.ru/objective-c/thread932791.html
Objective-C NSURL
Здравствуйте мне нужно выводить ссылку на сайт в *Label не просто текстом, а именно ссылка, чтобы можно было по ней тапнуть и перейти на страницу. Заранее спасибо Добавлено через 1 час 20 минут...
Программное управление размерами UIView Objective-C
итак начнем с того, что нам предоставляет ObjC из коробки ; метод мгновенно установит параметры прямоугольника области view и свойство view.frame по нему можно прочесть параметры размера...
Objective-C Транформировать UIImage http://www.cyberforum.ru/objective-c/thread928338.html
Возможно ли с помощью метода CGContextConcatCTM трансформировать UIImage так, как на скриншоте? Если нет, то какой метод нужен для такой транформации?
Objective-C Как использовать dispatch_after? NSMutableString bufferAnswer; bool isBufferAnalysed; +(void) waitAnalys:(NSArray*) strInArray { isBufferAnalysed=false; NSMutableString *str; while (!isBufferAnalysed) {... подробнее

Показать сообщение отдельно
noname_club
103 / 94 / 10
Регистрация: 01.05.2013
Сообщений: 598

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

05.08.2013, 18:49. Просмотров 791. Ответов 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 посчитать САБЖ ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru