Преобразование формы с использованием Quartz (iOS)

Я должен запрограммировать инструмент рисования, который должен отображать фигуры на плоскости. Эти фигуры могут быть либо произвольными формами, как elipse, либо кубом, или некоторым изображением, которое будет нарисовано на плоскости.

Мне нужно сделать это, используя маркерные точки, расположенные вокруг этих фигур, чтобы их можно было преобразовать, перемещая маркеры. Например, если предположить, что у меня есть четыре маркера, расположенных сверху, снизу, слева и справа, я должен иметь возможность растягивать фигуру горизонтально, перемещая левый и правый маркеры.

Я не могу использовать геометрические свойства формы (например, изменение радиуса эллипса, например), так как я должен иметь возможность делать это на произвольных фигурах (например, изображения).

У меня нет большого опыта в алгоритмах манипулирования изображениями, может ли кто-нибудь дать мне несколько подсказок о том, с чего начать? В конечном итоге лучше всего сделать это хорошо или даже хороший алгоритм для этого?

Я разрабатываю платформу iOS.

Вы взглянули на Руководство по программированию 2D кварца в Центре разработчиков Apple ?

Вот как вы нарисовки на UIImage

UIGraphicsBeginImageContext(CGSizeMake(width, height)); // do your drawing operations UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); 

Вот как вы можете масштабировать это изображение

 UIGraphicsBeginImageContext(CGSizeMake(scaledWidth, scaledHeight)); [image drawInRect:CGRectMake(0,0, scaledWidth, scaledHeight)]; UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); 

Вам не нужно делать это за два шага – вы можете просто нарисовать каждый размер. Это было бы лучше для неизображения.

Если вам нужен CGContextRef для рисования, вы можете использовать это

 CGContextRef context = [[NSGraphicsContext currentContext] graphicsPort]; 
Interesting Posts

Как отладить исходный код плагина в Xcode?

Наследовать NSObject из класса C ++

Заголовок iOS 8 Swift на панели навигации, кнопки, не отображаемые в приложении на основе вкладок

Преобразовать NSDate в JSON Date?

Как определить, включена ли функция «Мобильные данные» или отключена (даже при подключении WiFi) в iOS?

Производительность Javascript в UIWebView не в текущем ViewController с iOS 8

Как передать данные в подробное представление после выбора в виде таблицы?

Доступ к информации о людях в адресной книге iPhone

Создание представления показателей на основе автозапуска

Каким образом устройство iOS по умолчанию обрабатывает псевдо-класс: hover?

Не работает URL-адрес URL-адреса Google Maps iOS?

XCode Search и Destory

Добавление MBProgressHud в MPMoviePlayerController

Как фильтровать страну автозаполнения в Google maps ios sdk?

Как создать очередь GCD, которая всегда является серийной, даже на многоядерных процессорах?

Давайте будем гением компьютера.