2011-07-07 11 views
3

シェイプを平面上に表示する描画ツールをプログラミングする必要があります。これらの形状は、エリプスやキューブのような任意の形状、または平面上に描画されるいくつかの画像のいずれかとすることができる。Quartz(iOS)を使用したシェイプ変換

私がしなければならないことは、これらの図形のまわりにマーカーポイントを配置して、マーカーを動かすことでそれらを変形できることです。たとえば、上、下、左、右の4つのマーカーがあると仮定すると、左右のマーカーを動かすことによってシェイプを水平に伸ばすことができます。

私は任意の図形(図のようなもの)でそれを行うことができなければならないので、形状の幾何学的特性(例えば、楕円の半径を変えるなど)は使用できません。

私は画像操作アルゴリズムに多くの経験がありません。どこから始めるべきかのヒントを教えてください。最終的にそれを行うベストプラクティスまたはそれを行うための良いアルゴリズムですか?

私はiOSプラットフォーム用に開発中です。

答えて

0

あなたは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]; 
を使用することができます
関連する問題