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

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
shturm_liuvil
0 / 0 / 0
Регистрация: 27.01.2013
Сообщений: 2
#1

Ресайз большого графического объекта - Программирование iOS

28.05.2013, 07:42. Просмотров 436. Ответов 2
Метки нет (Все метки)

Здравствуйте, столкнулся с такой проблемой, есть задача - отобразить план этажа, с кучей помещений, и каждое помещение должно быть тыкабельно, изначально решил использовать кривые Безье, соответственно каждое помещение в коде выглядит так:
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
24
25
26
27
28
29
30
31
32
33
34
35
36
UIBezierPath *path;
// —----------------------------
path = [[UIBezierPath alloc] init];
path.lineWidth = lineWidth;
// Color
[pathColor setObject: [UIColor colorWithRed:0.1686275 green:0.1647059 blue:0.1607843 alpha:1] forKey: [NSNumber numberWithInt:path.hash]];
// Color
[pathData setObject: [NSNumber numberWithInt:0] forKey: [NSNumber numberWithInt:path.hash]];
// Move
[path moveToPoint:CGPointMake(292.3275,287.8195)];
// Line
[path addLineToPoint:CGPointMake(292.3275,288.115)];
// Line
[path addLineToPoint:CGPointMake(291.0615,288.1695)];
// Line
[path addLineToPoint:CGPointMake(292.3275,288.4105)];
// Line
[path addLineToPoint:CGPointMake(292.3275,288.692)];
// Line
[path addLineToPoint:CGPointMake(290.8125,288.3755)];
// Line
[path addLineToPoint:CGPointMake(290.8125,287.931)];
// Line
[path addLineToPoint:CGPointMake(291.874,287.8845)];
// Line
[path addLineToPoint:CGPointMake(290.8125,287.368)];
// Line
[path addLineToPoint:CGPointMake(290.8125,286.918)];
// Line
[path addLineToPoint:CGPointMake(292.3275,287.2355)];
// Line
[path addLineToPoint:CGPointMake(292.3275,287.52)];
// Line
[path addLineToPoint:CGPointMake(291.071,287.221)];
[path closePath];
[pathArray addObject:path];
Отрисовывается план нормально, но ресайз страшно тормозит, очевидно из-за того, что перерисовывается весь набор помещений за раз. Подскажите, пожалуйста, как быть в такой ситуации.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2013, 07:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ресайз большого графического объекта (Программирование iOS):

Вывод графического объекта на С++ - C++
Нужно, переделать так, чтобы программа вместо символов (>,<) выводила графический объект (*.bmp). Помогите переделать. #include <conio.h>...

Маштабирование графического объекта - Графические программы
Добрый день! Имеется растровый графический объект, представленный в виде массива из 1000 байт для экрана сенсорного LCD 320х240. ...

Выделение графического объекта - C#
Алоха, господа. Столкнулся с проблемой: есть фигура, скажем ромб, нарисованная с помощью метода DrawLine: (из программы) Pen myPen =...

движение графического объекта - Pascal
Задача: Движение кубика по контуру экрана с изменением цвета при изменении направления движения. (с помощью процедур и функций) ...

движение графического объекта - C++ Builder
привет всем.собственно,проблема : при нажатии мышкой в любом месте формы некий графический объект(далее как г\о),будь то Image, Rect или...

Движение графического объекта - PascalABC.NET
Как организовать движение круга по оси х. Понимаю, что надо нарисовать круг черной кистью и затереть его белой. Program Concentric2; ...

2
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
28.05.2013, 11:46 #2
Долго и нудно оптимайзить. Перво наперво - нарисовать все один раз (для текущего масштаба) и разрезать на UIImage's. Скажем, каждое помещение в отдельной картинке. А потом из них собирать общий план. UIImage отрисовывается намного быстрее, чем кривые.

Добавлено через 1 минуту
И помещения тыкабельными сделать так гораздо проще будет.
0
zulkis
683 / 610 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
29.05.2013, 09:20 #3
Ваш выбор - пример на сайте apple

Добавлено через 1 минуту
Они его обновили. У меня еще был под 4.0+
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2013, 09:20
Привет! Вот еще темы с ответами:

Создание графического объекта и управление им. - C++
Доброго времени суток! Есть вопрос, мне в универе задали курсовик, создать простую игру где надо сбивать движущиеся объекты и т.д. Когда...

Цветовая заливка графического объекта - MS Access
Помогите, пожалуйста, сделать цветовую заливку рисунка. Заранее спасибо!

Автоматическое перемещение графического объекта - Java
Здравствуйте, помогите пожалуйста исправить или подсказать куда двигаться в направлении. Моя программа рисует круг и мне нужно, чтобы она...

Расчет движения графического объекта на плоскости - Turbo Pascal
Расчет движения графического объекта на плоскости, заданного координатами угловых точек: - линейное перемещение; - вращение объекта...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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