FlashCS3のPNG書き出しバグ?
こないだ出くわしたバグっぽい現象。
自分だけの現象なのか FlashCS3 のバグなのかよく分からず、他の人にも検証してもらいたいので手順を書き下してみます。
まず、FlashCS3 に PNG な画像ファイルを読み込み、そのままステージに配置します。
なんだかこの時点で不自然に画像が拡大されている気がするので情報&変形パネルを見てみると、100%と表示されているにも関わらず縦横サイズが大きくなっています。
ライブラリから画像のプロパティを見ると何故か正しいサイズ情報が表示されていますが、仕方がないので元のサイズに縮小して配置しました(仮に75%とします)
書き出してみると、ステージに配置したサイズで表示されました。
これなら別段、問題はないようです。
一応他のファイルでも再現性があるか調べていたら、特に何も起こらないファイルがあったり、逆に縮小されてしまうファイルもあったり。
条件が全く分かりません。
ところでここからが本題。
サイズがおかしくなった画像をスクリプトから弄ってみたいなと思い、クラスを割り当てることにしました。
基本クラスは flash.display.BitmapData でクラスは適当に Hoge とか付けてみましたが、asファイルを用意していないので定義がSWF書き出し時に自動生成されますとか言われました。
問題ないのでそのようにしておきます。
そうこうしてる内に画像を弄るスクリプトができたので書き出してみました。
・・・あれぇー?
ステージに配置していた画像が縮んでないかい?
計算してみたら、プロパティに表示されていた正しいサイズの75%になってるよ。
意味不明に拡大されてたから縮小したのに、クラス割り当てたらそれが解消されて縮小だけしっかり残ってやがんの。
それはないわー



コメント
もしかしたら PNG 側の解像度が違うんじゃないかなー、と適当な事を言ってみる...
拡大されるって事で PNG の解像度を72ppi 以下にして試してみたら上記の情報と似た様な感じになりました
見当違いだったら申し訳ないです...
投稿者: たけし | 2007年08月13日 10:51
>たけしさん
twitterでtaka:niumさんにも指摘されたんですが、確かに解像度の問題っぽいです。
まあそれだけならさほど問題視しなかったんですが、クラス割り当てたとたん解像度関係なくなっちゃうのが気持ち悪いというか、いずれ致命的なミスに繋がりそうで怖いなと。
投稿者: munegon | 2007年08月13日 13:30