0

PDFを描画しているUIViewサブクラスがあります(CATiledLayerを使用)。また、そのPDFの特定の領域に描画する必要がありますが、CGを使用して描画するときのCATiledLayerの座標平面は非常に厄介です。

画像を参照してください: 代替テキスト

上記の2番目の平面であるCATiledLayerの座標系に変換する必要があるポイント(200,200)があります。いくつかの変換でこれを試しましたが、何も機能しないようです。

ありがとう!

4

1 に答える 1

0

これが私がしなければならなかったことです(上記のポイント/平面の例を使用して):

//rotatation origin
CGPoint rotateOrigin = CGPointMake(0,0);
//rotatation transform
CGAffineTransform translateTransform = CGAffineTransformMakeTranslation(rotateOrigin.x, rotateOrigin.y);
//rotate the plane 90 degrees
float radians = 90 * (M_PI / 180);
CGAffineTransform rotationTransform = CGAffineTransformMakeRotation(radians);   CGAffineTransform customRotation = CGAffineTransformConcat(CGAffineTransformConcat( CGAffineTransformInvert(translateTransform), rotationTransform), translateTransform);

CGAffineTransform m1 =  CGAffineTransformIdentity;
CGPoint startPoint = CGPointApplyAffineTransform(CGPointMake(200,200),m1);   
//rotated point
CGPoint rotatedPoint = CGPointApplyAffineTransform(startPoint, customRotation);
//final rotated point- after adjusting for the rotation
rotatedPoint = CGPointApplyAffineTransform(rotatedPoint, CGAffineTransformMakeTranslation(500,-500));   
于 2010-09-07T23:33:48.000 に答える