HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
0904
曲者32bitビットマップだと読み込めない説3解決


曲者

リンク

2022/9/4(Sun) 12:01:40|NO.97063

・拡張子だけ強引に書き換えたわけではない
・パスが長すぎることもない
・ファイルは確かに存在している
・ファイル名が長いということもない
・環境依存文字とか怖いものも使われていない
・同ディレクトリのビットマップファイルには読み込めるものもある
・他のプログラムが開いているわけでもない

というような状況でpicloadでもcelloadでも
読み込めないビットマップファイルがあったんすけれども、
何だろうなと思ってビットマップフォーマット調べて
読み込めるのとそうでないのとを比べてみたら、
フルカラーでも1px24bitのファイルは読み込めているのに
1px32bitのやつではerror13「ファイルが存在しません」が出てるようなんだあ

なのでビットマップ画像作るときは基本24bit以下で保存しようと
教訓を得たのは良いんだけれども、
プログラミングガイドか何かに、32bitだと読み込めないっていう
記述があったもんだろうかってのをお聞きしたい

jpgかpng使えって?非可逆圧縮はドット絵の敵ですわよ



この記事に返信する


沢渡

リンク

2022/9/4(Sun) 13:33:31|NO.97064

ヘルプのpicloadの説明に

BMP形式 : 拡張子 BMP : Windows標準の4,8,24bitのデータ。 RLE圧縮のデータも扱うことができます。
とありますので、32bitのBMPは対象外と読み取れますね。
(GIMPだとデフォルトで32bitになっていますから、この辺り引っかかる人が多そうだとは思いました。
あとGIMPだと『色空間の情報を書き込まない』もONにしないとダメな様子)

>jpgかpng使えって?非可逆圧縮はドット絵の敵ですわよ
pngは可逆圧縮だと思いますが、違ったのでしょうか?
(確かにjpegの方は非可逆圧縮ですが)
試しに「スクリーンショットを一旦bmpで保存したあと、
それをpngで保存し、プログラムを組んで両者を1ドットずつ比較する」
というのをやってみましたが、違う部分は1ドットもありませんでした。
(もしpngが非可逆圧縮だったら、pngを使う意味がほとんどなくなると思いますが…)



窓月らら

リンク

2022/9/4(Sun) 13:50:34|NO.97065

既に回答でていますが、pngは可逆圧縮で無劣化なので、むしろbmpを使う理由がありません。
みんなpngでいいのです。アルファチャンネル付png(32bit)も使えます。

昔々・・・自分もちゃんと調べずに勘違いしていた点として
pngはgifと同様に256色までだと思ってたことがあります。
そんなことはなくて、RGB各色8bitのフルカラーです。



曲者

リンク

2022/9/5(Mon) 10:49:26|NO.97069

>ヘルプのpicloadの説明に
あっ(解決)
完全に私の目が節穴でした、申し訳ないです。

>試しに「スクリーンショットを一旦bmpで保存したあと、
なるほど、bmpを挟まず直接png保存した時に、
スクショとかの一部のツールでは
フルカラー保存してくれない場合があるという事なのかも知れない
アップ・ダウンロードしたファイルの色がボロボロになってた
という経験があったもので
普通のpng自体は可逆圧縮なのね

>bmpを使う理由がありません。
>みんなpngでいいのです。
そのようですね
今回作ったツールを用いて
pixivでテストして確認できました↓
https://www.pixiv.net/artworks/101011944



ONION software Copyright 1997-2023(c) All rights reserved.