TFEngine & T-Fract 開発室 の 2 番の書き込みへコメントを付けます.
ボード:
T-Net - 管理人室
フリートーク - フリートーク MainStream
音楽 - 音楽 MainStream
コンピュータ音楽 - コンピュータ音楽 MainStream
コンピュータ音楽 - MIDI
コンピュータ音楽 - DTM おすすめリンク集
コンピュータ音楽 - 音楽理論・作曲技術
コンピュータ音楽 - 習作 発表会
コンピュータ音楽 - オリジナル音楽 発表会
コンピュータ音楽 - 既存曲の研究
フラクタル・Math Art - フラクタル・Math Art MainStream
フラクタル・Math Art - TFEngine & T-Fract 開発室
コンピュータ - コンピュータ MainStream
コンピュータ - プログラミングのお話
コンピュータ - UNIX
コンピュータ - インターネット
ゲーム - ゲーム MainStream
ゲーム - PlayStation
ゲーム - PlayStation2
ハンドル(名前):
(guest)
Subject:
書き込み:(1行は折り返さないように30文字程度で改行してください。)
> フラクタル画像はフォームに貼り付けたTImageに描画しています。それを > 画像ファイルとして保存する処理を付けたところで問題が発生しました。 > 保存した画像ファイルが不正なファイルとされてしまうのです。 > 画像を保存するには、VCLリファレンスに以下のように書かれています。 > Image1->Picture->SaveToFile(filename); > ところが、これで保存した画像ファイル(BMP)を susie や PhotoshopLE > で開こうとすると、不正なファイルだとしてはねつけられてしまいます。 > 一方、IE やペイントブラシだと読み込めて表示もできます。 > 昔は確かにこの方法で保存できたはずです。 > 調査した結果、どうも 32bit形式で BMPファイルが作成されている > ようです。もちろん、32bit形式の BMPフォーマットなどありません。 > TImage は、実行時の画面モードを検出しているようで、今のビデオカード > だと True Color(32bit) が TImage に反映されているようです。 > 昔使っていたビデオカードでは、Full Color(24bit)だったので、 > そのまま画像を保存しても 24bit形式の BMPファイルが作成でき、 > 偶然うまく行っていたみたいです。 > と言うわけで、以下のように TBitmap にコピーした後にフォーマットを、 > 24bitにし、それを保存することで解決することができました。 > Graphics::TBitmap *bitmap = new Graphics::TBitmap; > bitmap->Assign(Image1->Picture); > bitmap->PixelFormat = pf24bit; > bitmap->SaveToFile (SavePictureDialog1->FileName); > delete bitmap; > 本来、このようにしないと任意の形式で BMPファイルを保存できない > わけですね。 実行環境非依存なアプリケーションを作るには、気を付け > ないといけないです。 > // しかし、IE や ペイントブラシは、非公開のフォーマットまで > // サポートしているとは...。 > tos.
■ メインページ