バグ?:PNG格納イメージをファイルに保存する際の仕様改善

Issue #254 resolved
ルンバ created an issue

Build: 2018-08-19 15:47:48 Debug (64-bit)Compiled by Digital Mars D 2081 osWIN7

PNG格納イメージをファイルに保存する際には、「格納イメージの保存」ウインドウに

ファイル名「元ファイル名.png」 ファイルの種類「ビットマップイメージ(*.bmp)」

が出ますが、ここで手打ちで新規のファイル名を拡張子無しで入力すると内部データは元のPNG形式のまま(?)拡張子だけがBMPに変換されます。(私には正確にはわかりかねるのですが、とにかくこのBMPは1.60、1.50エンジンでは開けないのです)

このBMPはxエディター上では74×94の標準カード画像扱いにならず(ファイルビュー上のアイコンも)、一応正常なBMPと区別は付きます。しかし、誤り検索上では正常なBMP同様に扱われてしまっているようです。

現状どおり内部データを変換しない仕様を保つのであれば拡張子も元のままになるようにした方がいいでしょう。

課題 #23によればPNG・GIF等のBMP変換保存は、PNG・GIFに対応したので不要になったという事かと思います。 しかし実際には1.50以前への対応シナリオを作る作者が多い現状では、やはり重宝する機能ですので (とくに透過PNGが透過BMPに変換可能だと助かります) もし変換機能の方も検討していただければ、それが使用者的には最良なのですが、実際的な対応で結構ですのでなんらかの修正をお願いいたします。

Comments (4)

  1. k4nagatsuki repo owner

    pull request #328

    ご報告ありがとうございます。元々ビットマップ以外の格納イメージを保存しようとすると強制的に*.bmpになってしまうというバグを最近修正したのですが、ファイルフィルタを見逃していました。


    イメージの格納でのファイルフォーマット変換は、いくつかの理由から対応する予定はありません。過去にどこかで理由を書いたかもしれませんが、記憶が定かではないので、改めて記します。

    • ファイルフォーマットの変換は暗黙的に・自動的に行われるべきではありません。素材によっては改変が不可となっているものがあり、その際にフォーマットの変更が同一性保持権的に許容されうるかは判例も知らず定かではありません。ユーザに無意識のままライセンス侵害のリスクを負わせる機能は存在するべきではありません。
    • cwxeditorがイメージ処理に使用しているライブラリは32-bitビットマップイメージに対応できていません。32-bitビットマップイメージに定まった仕様があるかも定かではありません(ビットマップ規格の制定元のOS/2・Windowsが対応していないので、GTK方面の独自拡張ではないかと想像しているのですが)。このようなフォーマットに対応するのはかなり大変ですし、方法によっては移植性も落ちてしまいます。

    PNG→BMPに変換してのイメージ格納を行いたい時には、外部ツールを使う事をおすすめします。

    たとえばImageMagick(日本語の解説記事)のconvertコマンドを以下のような形で外部ツールに登録すれば、ファイルビューで右クリックしてすぐに変換を行う事ができるはずです。

    C:\ImageMagick\convert $F -depth 32 $F.bmp
    

    しかし、誤り検索上では正常なBMP同様に扱われてしまっているようです。

    これは検出できるべきなので、issue #255を立てました。

  2. ルンバ reporter

    変換機能を入れない理由もわかりました。 素早い対応と、ツールの紹介までありがとうございました。

  3. 暗黒 騎士

    上記変換機能を付けるべきでないという論拠として、

    フォーマットの変更が同一性保持権的に許容されうるかは判例も知らず定かではありません

    ということですが、フォーマットの変更は不可逆圧縮においても、「やむを得ないと認められる改変」という判例があるようです。
    https://gkchizai.exblog.jp/23220298/

    一応ご報告まで。

  4. Log in to comment