1

Turbo Delphi Pro を実行しています。

TImage を使用して png 画像を表示しています。

Delphi を再起動して dpr ファイルをロードすると、TImage はまだそこにありますが、画像が失われ、コンパイルする前に画像をリロードする必要があります。

最初はパスの問題だと思ったので、dprと同じディレクトリから画像をロードしましたが、役に立ちませんでした。

他に何を試すことができますか?

4

2 に答える 2

1

D2006でもこの問題に遭遇しました。私が使用した解決策は、フランソワのものに似ています。

デザイン時にすべての画像を収集する TPngImageCollection コンポーネントがあります。Web からユニット PngImageList を見つける必要があります。TPngImageCollection コンポーネントには、さまざまなサイズの PNG 画像のコレクションを持つことができるという利点があります。

起動時の実行時に、各コレクション メンバーから TImage を割り当てます。

Image1.Picture.Assign (ImageCollection.Items [0].PNGImage) ;
Image2.Picture.Assign (ImageCollection.Items [1].PNGImage) ;
Image3.Picture.Assign (ImageCollection.Items [2].PNGImage) ;
etc

Bingo - PNG のオリジナルをアルファ透明度 (私は Serif の PhotoPlus 6.0 を使用しています - 無料で非常に有能です) で作成し、TImage で表示できます。

于 2010-08-16T20:41:48.717 に答える
1

これを試して:

  • プロジェクトとフォームを PNG で開きます。
  • PNG画像を(再)読み込みます。
  • フォームを保存して閉じます。
  • テキスト エディタを使用して、フォーム DFM を読み込みます
  • PNG コンテンツが保存されていないため、TImage object に大きなバイナリが含まれていないに違いありません。

要するに、それをリソースとして含め、実行時に動的にロードする必要があります。

于 2010-05-12T17:27:03.730 に答える