Quartz 2Dを初めて使用しました。私は三角形を描画して回転しようとしています。 Quartz 2Dを使った私の限られたバックグラウンドで、私はAppleから見つけた/グーグルで私はCGContextRotateCTM
の機能を使うことができます。私の問題は、私がそれを描いたテキスト全体を回転させたときのことです。私はCGContextSaveGstate
を使って試してみました。そして回転をした後にそれを復元しましたが、didntの仕事をしました。私のアプローチが正しいかどうか疑問に思っていますか?それを達成するために私が使用できるより良い方法がありますか?Quartz 2D描画プリミティブローテーション
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
for (key in data)
{
// get point
Data *tmpdata =[data objectForKey:key] ;
point=[data point ]
//setup and draw the
CGContextBeginPath(context);
CGContextSetRGBFillColor(context, [data fillcolor].r,
[data fillcolor].g, [tmpACdata fillcolor].b, 1);
CGContextSetLineWidth(context, 2.0
// Draw Triangle
CGContextMoveToPoint(context,point.x,point.y);
CGContextAddLineToPoint(context, point.x+8, point.y+8);
CGContextAddLineToPoint(context, point.x-8, point.y+8);
CGContextClosePath(context);
CGContextDrawPath(context, kCGPathFill);
CGContextRotateCTM(context, [data heading]* M_PI/180);
CGContextClosePath(context);
CGContextDrawPath(context, kCGPathFill);
// Draw Text
...............
}
CGContextRestoreGState(context);
私はロジックを試しても動作しませんでした。これで、テキストは表示されますが、三角形は表示されません。 – user519274
座標に問題がある場合は、該当する行があるコードに改行を入れます。あるいは、 'std :: cout << yourVariable <<」をスローしてください。 – Adrian