問題タブ [rendertransform]

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 投票する
2 に答える
1011 参照

c# - RenderTransform を使用するときにテキストがピクセル化されないようにするにはどうすればよいですか?

RenderTransform プロパティを使用して RichTextBox を拡大すると、ピクセル化された拡大テキスト (四角いテキスト エッジ) が得られます。

どうすればこれを防ぐことができますか? ここに画像の説明を入力

編集:

私は TextOptions.TextFormattingMode="Display" を持っています - このオプションを削除すると、すべて問題ありません!

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

c# - 奇妙な動作をするWPFレンダリング変換

WPFのレンダリング変換で奇妙な問題が発生しています。私が取り組んでいるプロジェクトでは、クリックしたユーザーポイントを画像の上に表示する必要があります。ユーザーがポイントをクリックすると、クリックした場所にカスタムコントロールが配置されます。次に、マウスホイールを使用して画像を任意のポイントの周りで拡大縮小できるようにし、カスタムコントロールを正しい位置に変換(拡大縮小ではない)する必要があります。

これを行うには、次のようにMouseWheelイベントをフォローします。

TransformationChanged次に、上記のコードブロックの最後に表示されるイベントのカスタムコントロールに、次のようにイベントハンドラーを実装しました。

このようにして、新しい変換が設定された後にのみ、カスタムコントロールの位置が更新されるようにすることができます。ポイントに変換を適用しているため、コントロールにスケーリングは行われないことに注意してください。効果は、ポイントに変換されることです。これは、ユーザーが1ポイントを中心にスケーリングしている限り正常に機能します。彼らがその点を変えるならば、それは働きません。問題を示すいくつかの画像は次のとおりです。

ユーザーがポイントをクリックする

ユーザーがズームアウトします。ここで何が起こりましたか?

ズームアウトした後(この場合は完全にズームアウト)、問題ないように見えます

私はこれを約2日間いじっていますので、コードが乱雑に見える場合はお詫び申し上げます。私はこれがかなりあいまいな質問であることを知っているので、どんな助けもいただければ幸いです。

ありがとう、マックス

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

wpf - WPF/Silverlight: グリッド セル サイズへのクリッピングと RenderTransform

私はこのように定義された単純なグリッドを持っています:

グリッドのすべてのセル (左上のセルを除く) に、グリッドまたはキャンバスを追加します。これらのコンテナーに、いくつかの異なるオブジェクトを追加します。これらのコントロールの一部は、ズームインまたはズームアウトとスクロールにより表示サイズを変更できます。

元のコードは私自身のものではありませんが、状況をシミュレートするために小さなテスト プログラムを作成しました。

ページが大きすぎて、特に拡大すると範囲外になります。

クリップを追加しようとしましたが、値を動的に設定する方法がわかりません。

さらに、レンダリングされたキャンバスの実際のサイズと位置を取得するにはどうすればよいですか。ズーム後に値を読み取るために Zoom_ValueChanged を挿入しましたが、幅と高さはまだ 200 または 300 で、ActualWidth と ActualHeight は両方ともゼロです。

前もって感謝します。

0 投票する
0 に答える
416 参照

wpf - RenderTransform 対 Panel Properties 対 Layout トランスフォーム

UIElements前後のドラッグ ムーブを達成するための最良の方法を知りたいPanelsです。

Canvas.SetTop、などは.Right.LeftRender Transform よりもわずかに高速であり、おそらくよりレイアウトに適した方法であることがわかっています。

  • 他の種類のパネルでのフリードラッグ移動動作はどうですか?

  • で子をサイズ変更/ドラッグするときに、オフセットを維持しながら Canvas SetLeft を適用するにはどうすればよいGridですか?

特定のレイアウトが他のパネル タイプで採用されているため、明らかに一貫性がないように見えますが、一部のシナリオでは、元のパネル動作 (グリッド内の列間をドラッグするなど) を置き換える自由配置ドラッグ移動動作を採用すると便利な場合があります。

おそらく、Bool IsDragEnabled元のパネルの動作とドラッグ移動の動作を切り替えるプロパティを使用します。

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

wpf - RenderTransform Mouse.GetPosition

わかりました、いくつかの修正を加えて改善し、X座標にのみ適用します:次のコードが与えられます:

1.(MouseLeftButtonDown) ドラッグしたオブジェクトを最初にクリックすると、正しく動きます。

2.(MouseMove)オブジェクトを任意の位置にドラッグします。私のパネルで100ポイント。

3.(MouseLeftButtonUp) オブジェクトは、ドラッグしている場所に正しく配置されます。

今のところ問題はありません。しかし、2 回目のイベント チェーンを開始すると、次のようになります。

1.(MouseLeftButtonDown)ドラッグされたオブジェクトが後方に移動します:

2. (MouseMove)ドラッグ移動が実行されますが、MousePointer はドラッグされたオブジェクトから CurrentPointerPosition + FIRSTPosition にあります。

3.(MouseLeftButtonUp) は、初回と同様に正しく実行されました (ただし、明らかでした)。

MouseLeftButtonDown では、MouseDownPosition とドラッグされたオブジェクトの位置をリセットする必要があるようです...

なんで?私が間違っていることは何ですか?ありがとう!

0 投票する
0 に答える
748 参照

c# - RenderTransformをEllipseGeometryに適用します

RenderTransformのコンテンツをEllipseGeometryの物理プロパティに適用しようとしています。つまり、EllipseGeometryのCenter / RadiusX / RadiusYプロパティは、変換の適用によって変更されます。これを行う理由は、楕円を描画できる描画プログラムがあり、描画後、楕円を拡大縮小/回転/平行移動できるようにするためです。これは、内部で元のPathオブジェクト(「データ」 "プロパティはEllipseGeometryオブジェクトです)。現在、描画プログラムの他のジオメトリ(ベジェ曲線、線、円弧など)については、データをファイルに保存するときに、次のアプローチを使用してRenderTransformsを適用しています。

これにより、「linePath」のRenderTransformが適用されたクリーンなジオメトリが残ります。これで、このジオメトリの内容を「ミニ構文」のファイルに簡単に保存して、後で再ロードできます。EllipseGeometryにも同じアプローチを使用できることはわかっていますが、結果は変換されたEllipseGeometryを表す近似PathGeometryであり、ファイルからデータをリロードするときにその結果をEllipseGeometryに戻す方法がわかりません。現在、図面内のEllipseGeometryオブジェクトの場合、物理プロパティ(Center / Radius / etc)を保存してから、対応するRenderTransformをXAML文字列としてファイルに保存します。次に、ロード時に、プロパティからEllipseGeometryを作成し、保存されたRenderTransformを適用します。

現在、このアプローチは機能しますが、他のジオメトリの場合と同じように、平行移動された楕円ジオメトリを保存する方がクリーンだと思います。また、アプリケーションの他の場所でRenderTransformsをEllipseGeometriesへの物理変換として適用するための使用法があり、回避策はますます醜いものになっているので、これを行うためのプロセスを特定したいと思います(可能な場合)。

前もって感謝します!

編集: 質問をもう少しオープンにするために、私はEllipseGeometryを使用することを約束していません。これは、RenderTransformに存在する可能性のあるすべての異なる変換を記述するためにEllipseGeometryをどのように使用できるかわからないためです(つまり、Rotate )。したがって、「楕円のような」動作を提供する他の方法または使用できる他のジオメトリがある場合、私は間違いなくそれについて聞くことに興味があります。

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

wpf - 画像の ScaleTransform は空白を残す

単一の画像とポリゴンがオーバーレイされたダイアログを作成しています。問題は、画像の縮尺がポリゴンの縮尺と異なるため、ポリゴンの縮尺に合わせて画像を縮小したいということです。しかし、RenderTransform/ScaleTransform タグを使用すると、画像のサイズが小さくなり、ダイアログの右側と下部に空白が残ります。はい、オーバーレイは適切に機能するようになりましたが、ウィンドウを埋めるために使用可能なスペースを埋めたいと思います。

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

xaml - RenderTransform を使用して TextBlock の向きを制御する方法

TextBlockWindows Phone の組み込みメール アプリのユーザー名と同じように、縦に表示したい:

ここに画像の説明を入力

私のXAMLコードは次のとおりです。

結果は次のとおりです。

ここに画像の説明を入力

TextBlockが適切な場所に表示されませんでした。XAML コードを変更するにはどうすればよいですか? 前もって感謝します。

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

wpf - ItemsControl 内の項目の ZIndex を変更する

これは、マウスが上に移動したときにアイテムをズームする ItemsControl のコードです。
現在ズームされているアイテムの ZIndex を増やして、他のアイテムの上に置くことができません。

トリガーで ZIndex を直接変更しようとしましたが、うまくいきません。
TextBlock ではなく、VisualTree の TextBlock の親である ContentPresenter の ZIndex を変更する必要があるようです。

そのため、ContentPresenter で ZIndex を変更しようとしましたが、まだ機能しません。

誰もそれがどのように機能するか知っていますか?