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

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

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

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

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

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

2 Solutions collect form web for “Преобразование формы с использованием Quartz (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

BSD Sockets не работают в среде iPhone 3G

У приложения Dropbox на iOS есть схема URL?

Как я могу отобразить растровое изображение RGB в GLKView с использованием 2D-текстур?

Задайте цель развертывания для контейнера CocoaPods

iOS popup закрыть ярлык кнопки: «ОК» или «Хорошо»?

Отсутствует информация об отладке в файле Dwarf?

выполнять селектор после задержек, вызываемых только один раз

Получение имени продукта приложения iPhone во время выполнения?

PFQuery с несколькими ограничениями на один ключ

Интерфейс iOS Simulator размыт в Xcode 6 GM iOS 8

Как исправить мою проблему ориентации при слиянии видео с передней и задней камеры

сделать просмотр изображения на весь экран в поле зрения контроллера / контроллера просмотра страниц (быстро)

ERROR ITMS-90046 с использованием xctool / xcodebuild и успеха XCode Archive

Является ли NSData + (id) dataWithContentsOfURL: (NSURL *) aURL options: (NSDataReadingOptions) ошибка маски: (NSError **) errorPtr: автоматически кэшируется?

Как увеличить площадь области для UIButton?

PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.