Re: WinAPIでのbmpの表示について ( No.1 ) |
- 名前:管理人 日時:2022/12/30 01:54
hBitmap に NULL が代入されているということは LoadImage が失敗しているということです
LoadImage の第二引数で指定するbmpファイルのパスが誤っているか、LoadImage が対応していない
bmpファイルの可能性があると思います
|
Re: WinAPIでのbmpの表示について ( No.2 ) |
- 名前:東海鉄道 日時:2022/12/30 21:13
std::filesystem::existsはtrueだったのでパスは正しいと思われます
よってLoadImageに対応していないbmpファイルという可能性が高いですが
何がいけないのでしょう…と書こうと思ったのですが一応ペイントでもやってみようと思い(普段はGIMPです)
ペイントでbmp保存をしてみました
すると何とか表示することができました
ありがとうございました
最後に一つお聞きしたいのですが
GIMPで保存するbmpとペイントで保存するbmpはどう違うのでしょうか
GIMPのbmp保存の形式をすべて試してもダメでした
どのような違いがあるのでしょう?
|
Re: WinAPIでのbmpの表示について ( No.3 ) |
- 名前:管理人 日時:2022/12/31 00:08
> GIMPで保存するbmpとペイントで保存するbmpはどう違うのでしょうか
> GIMPのbmp保存の形式をすべて試してもダメでした
> どのような違いがあるのでしょう?
LoadImage やGIMPやペイントを作ったのは私ではないので分かりません (^ ^;
ペイントで作成したbmpとGIMPで作成したbmpをzipで圧縮してこちらのメールアドレス
BQE00322(あっとまーく)nifty.ne.jp
(あっとまーく)を@に置き換えてください
に送っていただければ私の方で違いを確認してみます m(_ _)m
( 私の手元にもペイントやGIMPはありますが、どちらもバージョンによって作成される
bmpの内部形式が異なる可能性があるので、東海鉄道さんの環境で作成されたbmpファイルを
いただければと思います )
|
Re: WinAPIでのbmpの表示について ( No.4 ) |
- 名前:東海鉄道 日時:2023/01/01 20:41
送信させていただきました
正しく届いていますでしょうか
よろしくお願いいたします
|
Re: WinAPIでのbmpの表示について ( No.5 ) |
- 名前:東海鉄道 日時:2023/01/02 20:54
追記です
少し遅くなりましたが
あけましておめでとうございます
|
Re: WinAPIでのbmpの表示について ( No.6 ) |
- 名前:管理人 日時:2023/01/02 21:28
あけましておめでとうございます!
メールありがとうございます、添付の bmpファイルも無事届きました m(_ _)m
2つの bmpファイルの違いはヘッダーの構造でした
bmpファイルの構造はこちらのページで解説されているようになっているのですが
<noocyte のプログラミング研究室 bmpファイルのフォーマット>
http://www5d.biglobe.ne.jp/~noocyte/Programming/Windows/BmpFileFormat.html#BITMAPV5HEADER
ペイントで作成されたbmpファイルのヘッダは BITMAPINFOHEADER となっていて、
GIMPで作成されたbmpファイルのヘッダは BITMAPV5HEADER となっていました
DXライブラリではどちらの場合も問題なく読み込めるのですが、LoadImage については
こちらのブログ記事によると
<手づくりアプリの裏側 DIB:アルファチャネル>
http://yuzublo.blog48.fc2.com/blog-category-4.html
ヘッダが BITMAPV5HEADER となっている bmpファイルは LoadImage では読み込めないそうです
仕様としては BITMAPINFOHEADER の後に作られたのが BITMAPV5HEADER なので、単純に LoadImage が
新しい bmpファイルの仕様に対応していないということなのだと思います
|
Re: WinAPIでのbmpの表示について ( No.7 ) |
- 名前:東海鉄道(解決済み) 日時:2023/01/04 17:44
なるほどヘッダーの違いだったのですね
よくわかりました
ありがとうございました
|