teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2015/07/31 09:03

投稿

退会済みユーザー
answer CHANGED
@@ -1,7 +1,10 @@
1
- PNGフォーマットには幾つもの保存形式があるので、半透明(semi-transparency)をピクセル単位にRGBAの形で収めた形式でないと回転させられない(中間調の結果を収められない)ということではないかと。
2
- 完全な透明色の場合は使用する色がパレット化されている場合があります。その場合には回転の際に生じる中間調の色を収めるパレットの余裕がなくなるので対応していないよ…ということではないかと。
1
+ PNGフォーマットには幾つもの保存形式があるので、半透明(semi-transparency)をピクセル単位にRGBAの形で収めた形式でないと回転させられない(中間調の結果を収められない)ということではないかと。(完全な透明色の場合は使用する色がパレット化されている場合があります。その場合には回転の際に生じる中間調の色を収めるパレットの余裕がなくなるので対応していないよ…ということではないかと)
3
2
 
4
3
  PNGフォーマットの話は[こちら](http://www.libpng.org/pub/png/book/chapter08.html)など参照してみてください。
5
4
 
6
5
  ズバリの回答ではないですが、英語サイトを調べると[こんなQ&A](http://stackoverflow.com/questions/12082472/php-imagerotate-ruins-alpha-on-png)が見つかりました。
7
- GDライブラリ使うなら、こんな感じにしよう。みたいなことが書かれています。
6
+ GDライブラリ使うなら、こんな感じにしよう。みたいなことが書かれています。
7
+ ---
8
+
9
+ 他に情報がないかと調べていたんですが、[こんなページ](http://www.imagemagick.org/Usage/formats/#png)を見つけました。
10
+ 「アルファ・チャンネルを強制する場合には、"-type TruecolorMatte"を指定するか、PNG32 形式で保存しなさい。」というような記述がありますね。