問題タブ [cgaffinetransform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
32032 参照

ios - UIViewをその中心を中心に回転させますが、数回回転させます

中心を中心に回転させようとしているUIViewので、単純なコードは(擬似コードで)次のようになります。

ここで、角度をM_PI / 2と言うように設定すると、物事はうまく回転します。2 * M_PIに設定すると、「何も」実行されません。マトリックスは何もしないものに変換されることは理解できますが(360度回転すると、ある意味で「滞在」を意味します)、5回回転させたいと思います(新聞の回転スケールが効果を発揮すると考えてください。私はそうではありません)説明が得意です。誰かが理解してくれることを願っています)。そこで、設定角度を180度(M_PI)に追加して、ネストしたを追加してみましたanimatationBlocksomeview.transitionしかし、同じプロパティ( )を再度設定しているので、どういうわけかそれを無視していると思います)。アニメーションの繰り返し回数を角度M_PIで2に設定してみましたが、180度回転し、まっすぐな位置に戻ってから、もう一度回転を開始しているようです。

だから、私は少しアイデアがありません、どんな助けもありがたいです!--t

0 投票する
5 に答える
26936 参照

iphone - iPhoneの左カールと右カールのトランジション

UIViewAnimationTransitionCurlUpiPhoneでまたはトランジションを実行する方法を探していますUIViewAnimationTransitionCurlDownが、上から下ではなく、左から右(または横向きモードでは上/下)に実行します。私はこれがインターネットの周りで数回尋ねられたのを見ましたが、答えを得るために何もしません。しかし、これは実行可能だと思います。

Viewの変換とview.layerの変換を変更しようとしましたが、遷移には影響しませんでした。デバイスの向きが変わるとトランジションが変わるので、デバイスをだましてポートレートモードでランドスケープトランジションを使用する方法があると思いますか?

0 投票する
3 に答える
8110 参照

objective-c - CGAffineTransformMake - UIimageview の状態を保存してさらに処理する方法

CGAffineTransformMake を使用して UIImageView を垂直方向に反転しています。正常に動作しますが、UIImageview の新しい反転位置を保存していないようです。これは、2 回目に反転しようとすると (以下の行コードを実行)、機能しないためです。

shape.transform = CGAffineTransformMake(1, 0, 0, 1, 0, 0);

助けてください。

前もって感謝します。

ケダル

0 投票する
2 に答える
1731 参照

core-graphics - CGAffineTransform を使用してコンテキスト内のすべてのポイントをスケーリングしながら線幅を維持する

CGPath描画したい座標系があります。これには、古い座標系をコンテキストの座標系にスケーリングすることが含まれます。その目的のために、CGContextConcatCTM()必要に応じてすべてのポイントを変換する which を使用します。ただし、スケーリング操作であるため、水平/垂直の線幅が変更されます。たとえば、x 方向のスケールが 10 で、y 方向のスケールが 1 の場合、垂直線は水平線の 10 倍の太さになります。変換行列の使いやすさを維持する方法はありますか (例CGAffineTransform)、同時に線幅をスケーリングしない方法はありCGPathApplyAffineTransformToPointsますか?

乾杯

ミスターメイジ

0 投票する
3 に答える
20588 参照

iphone - CGAffineTransformMakeScaleとRotationを同時に使用するにはどうすればよいですか?

一度にこれらの作品の1つだけ。変換を保存してから別の変換を適用するにはどうすればよいですか?乾杯

0 投票する
1 に答える
20682 参照

iphone - CGAffineTransformの後に親/子UIView間の座標を変換します

手作業ですべてを行う前に、フレームワークから得られる助けがあるかどうかを尋ねたいと思います。

マップを持つ別のUIViewを保持するUIViewがあります。親UIViewは、マップのいくつかの凡例を保持します。最初に、マップビューでいくつかの座標を定義します。たとえば(100、40)、親ビューにグラフィックを配置します(Googleマップの鋲など)。親ビューと子ビューはどちらも300x200であり、原点は同じです。これは、(100、40)が両方のビューで同じポイントであることを意味します。

ここで、CGAffineTransformを使用して子UIView(マップ)をズームおよび移動すると、座標(100、40)が別の場所に配置されます。ここでは、親ビューは事実上マスクです。

CGAffineTransform Matrixまたはフレームワークの別の部分を使用して、ポイントが移動したときにタックを配置する場所を計算して親ビューに通知できますか?

つまり、親ビューの(100、40)と比較した子ビューの(100、400)は、変換後と比較してどうなりますか?

提案や支援をありがとうございます。

子UIViewのアニメーション

0 投票する
1 に答える
245 参照

iphone - imageViewを別のビューに固定し、両方を一緒に移動するにはどうすればよいですか?

私は弓と矢を持っているゲームを開発しています。CGAffineTransformを適用しているさまざまな角度で、タッチで弓と矢印の両方のimageViewを移動する必要があります。

問題は、回転後、弓と矢の位置が変わるため、矢が弓の中心に留まらないことです。この矢印を弓の中心点に固定し、弓に沿って移動したいと思います。

弓と矢の両方に同じ角度を適用していますが、変形後に弓の中心が変化しているようです。タッチを検出している間、矢印の中心を通るタッチ位置を指定する必要があるため、矢印のcenterプロパティを使用して特定のポイントに固定することさえできません。

誰か助けてくれませんか?本当に緊急です。

0 投票する
7 に答える
20849 参照

objective-c - CGAffineTransform からスケーリング変換だけを取得する

回転だけを取得することについて同様の質問を見つけましたが、変換マトリックスではスケーリングと回転が異なることを理解しています。

マトリックスは私の強みではないので、誰かがCGAffineTransform からスケーリングのみを取得する方法を教えてくれたら、私は大いに感謝します。

ところで。CGSize に CGAffineTransform を適用してから、高さ x 幅を取得して、それがどれだけスケーリングされたかを確認しましたが、高さ x 幅には奇妙な値があります (CGAffineTransform で見つかった回転に応じて、...うーん、うまくいきません)

0 投票する
6 に答える
15400 参照

objective-c - CGAffineTransform 適用後の UIView のサイズを取得する

この質問に対する答えが見つからないことに驚きました。おそらく、私が見落としている非常に単純なものである可能性があります。

CGAffineTransform を適用した後に UIView の実際のサイズを取得するにはどうすればよいですか?

例えば。

私のUIViewのサイズは300 x 200です。スケーリング変換を適用します。たとえば、水平と垂直の両方に係数2を適用すると、UIViewは画面上で600 x 400になりますが、それは境界であり、レイヤーの境界はまだ300 x 200のサイズを返しています... UIView の実際のサイズはどこで確認できますか?

ps。言い忘れましたが、uiview も回転させたいと思います。スケーリングだけを適用すると CGSizeApplyAffineTransform はうまく機能しますが、回転もあると正しく機能しません。

編集: drawonward は正しい方向を示してくれました。コンパイルするコードを少し改良したところです。

rect.size には、変換が適用されたビューの寸法が含まれています。

0 投票する
1 に答える
1218 参照

objective-c - iPhone/iPad ビューを同時にパン、ピンチ、回転

パン、ピンチ、回転を同時に行える写真アプリの動作を再現しようとしています。私は基本的な作業をしていますが、何かに行き詰まっています。

パンについては、移動量だけビューの中心点をオフセットしました。これはうまく機能しています。

ピンチと回転のために、ビューにアフィン変換を適用しています。これもうまく機能しています。

問題は、パン (つまり、サブビューを移動) してからピンチまたは回転すると、ビューの古い中心点を使用してアフィン変換が適用されるようです。現在の中心点を変換元として使用する必要があると思います-パンするときに中心点を更新しているので、これは機能するはずです。サブビューの中心点を中心とした回転の代わりに、元の中心点を中心とした回転運動を取得します。

これを修正するにはどうすればよいですか? これら 3 つのジェスチャーを直感的に組み合わせることは明らかに可能です。

パンにアフィン変換を使ってみましたが、効果は同じでした。