掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Photoshop 7 で作成したBitmapを読み込むには? (ID:11210)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
sadoyamさん、失礼しました。性善説さん、ありがとうございました。 性善説さんの説明を検証するために、TBitmap に読み込むまえに加工してみました。 procedure TForm1.Button1Click(Sender: TObject); var bmp:TBitmap; stm:TMemoryStream; biSizeImage:DWORD; begin bmp := TBitmap.Create; stm := TMemoryStream.Create; try stm.LoadFromFile('C:\128x128.bmp'); stm.Position := 34; biSizeImage := 0; stm.Write(biSizeImage,4); stm.Position := 0; bmp.LoadFromStream(stm); Canvas.Draw(10,10,bmp); finally bmp.Free; stm.Free; end; end; このように TBitmapInfoHeader.biSizeImage にゼロまたは正しい 49152 を予め 書き込んでおくと正常に読み込めますね。 同様にして TBitmapFileHeader の bfOffBits を読み込まないバグも、データの 方を加工することで回避出来そうです。いろいろな場合を想定して位置を決定しな ければならないのでコードは煩雑になりそうです。しかし、このような対症療法より、 TNkDIB のようなクラスを使うのが最善ですね。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.