問題タブ [delphi-10.4-sydney]

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

delphi - テキストをパスとして描画します。Bahnschrift フォントの問題

私のアプリケーションでは、ユーザーはキャンバス上にテキスト オブジェクトを作成できます。このオブジェクトをプロジェクト ファイルに保存して、後で読み込むことができます。

さまざまなプラットフォームでロードした後にオブジェクトが同じように見えるようにするために、テキスト オブジェクトをパスとして実装しました。これにより、ユーザーはダウンロードしたフォントを使用し、そのフォントを使用せずに別のデバイスでプロジェクト ファイルを開くこともできます。テキストの外観は変わりません。

パスは を使用して作成され、 を使用TTextLayout.ConvertToPathして描画されTCanvas.FillPathます。これはほとんどのフォントで問題なく機能しますが、その他のフォントでは問題があります。

下の画像は、Bahnschrift フォントを使用した結果 (上) を示しています。下は、MS ペイントを使用した場合の外観を示しています。このフォントには交差するパスがあるようです。問題は、FillPath が別の塗りつぶしモードを使用していることだと思いますが、これは変更するオプションではないようです。

また、テキストを作成してパスに変換することで、Inkscape で SVG と同じフォントをテストしましたが、正しく描画されました。Delphi と Inkscape で作成されたパス データは基本的に同じです (t は互いに交差する 2 つの閉じた領域で構成されています)、異なるのはそれらの描画方法です。

誰でもこれの修正を提案できますか?

ここに画像の説明を入力

これがコードです

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

delphi - Delphi コンポーネントのカスタム プロパティが DFM ファイルに保存されない

DFM ファイルに保存したくないカスタム コンポーネントのプロパティがあります。私は、DefineProperties メソッドをオーバーライドして、値を保存しないことを期待して、ReadData および WriteData プロシージャを提供しませんでしたが、それでも保存されます。

このプロパティを保存しない理由は、プロジェクトを ADO から FireDAC に移植し、一部の ADO コードを変更せずに実行して対応する FireDAC プロパティにリダイレクトする「偽の」プロパティを作成したためです。

これらの「偽の」プロパティを、互換性のために、実際のプロパティの役に立たないコピーでDFMファイルに埋めずに保持する正しい方法はどうすればよいですか?.

ありがとうございました。

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

image - プログラムで TImageCollection に画像を追加する方法

データ モジュール (.dfm ファイル) のリソースとして使用できるように、入力して保存したい TImageCollection を読み込もうとしています。このコードは、選択した .png ファイルから画像コレクションに画像を追加し、カウントが増加していることがわかります。

しかし、リソースとして保存する必要があります。それはできますか?