サポート » 使い方全般 » 画像をアップロードすると透過部分が黒くなってしまう

  • nekofox

    (@nekofox)


    いつもお世話になっております。

    アバター画像設定に透過されたgif、png画像をアップロードすると
    透過された部分が黒色になってしまいます。

    これはWordPressデフォルトの機能なのでしょうか?
    なんとか透過部分を黒ではなく白にする方法はないでしょうか?

    もしよろしければご教示いただけますようよろしくお願いいたします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • popup

    (@popup)

    アップロードした画像をWPが変更することはないはずですので、標準の機能ではないと思います。
    アバター画像設定は、プラグインの機能でしょうか?
    WP標準では、アバター画像をアップロードする機能はないようです。
     
    同じ画像をメディアにアップロードした場合はどうなりますか?
    アバター画像としてアップロードした時と同じように黒くなっている場合は、画像その物に問題があると思います。
    透過画像の作成方法を確認してみてください。

    トピック投稿者 nekofox

    (@nekofox)

    >popupさん

    >アバター画像設定は、プラグインの機能でしょうか?

    失礼致しました。
    こちらbuddypressというプラグインによる機能でした。

    >同じ画像をメディアにアップロードした場合はどうなりますか?
    >アバター画像としてアップロードした時と同じように黒くなっている場合は、画像その物に問題があると思います。
    >透過画像の作成方法を確認してみてください。

    メディアで試してみたところ確かに黒くなりました!

    一度画像の作成方法を確認してみます!

    トピック投稿者 nekofox

    (@nekofox)

    画像を作り直しメディア等に投稿時は透過が聞くようになったのですが
    やはり画像を切り抜きしてリサイズを行いアバターにする機能を使うと
    透過部分が黒くなってしまいます。

    検索してみましたら
    http://d.hatena.ne.jp/mzkt/20080519/1211209591

    でsmart_resize_imageというものを見つけたのですが
    php初心者ということもあり上手く動作しませんでした。

    もし解決方法などご存じの方がいらっしゃいましたら
    若輩の私にご教示ください。

    buddypressを動かしていないので憶測なのですが、
    透過GIFを作成時、黒を透過色にしてますでしょうか?
    もしそうなら透過色を白で書き出してみてはどうでしょう。
    また透過PNGも透過部分が黒になるのでしょうか?
    PNGの書き出しはPNG-32でしょうか?

    一度、書き出すソフトを変えてみるのも、
    改善につながるかもしれませんね。

    投稿への回答ではないですが、ちょっと調べてみました。
    buddypressのアバター機能で切り抜くときにはbp-core-avaters.phpでwp_crop_image()を使うのですが、これだとJPEGで保存される(JPEGしか対応してない)のではないでしょうか。

    どう対応するか…ですが、一応参考になりそうなリンクを載せておきます。
    http://www.thinkplexx.com/blog/nadi/wordpress-image-croping-does-only-jpeg-buddypress-avatar-cropping-uppload-transparency-problem

    http://core.trac.wordpress.org/ticket/13411

    トピック投稿者 nekofox

    (@nekofox)

    皆さん

    たくさんの回答ありがとうございます。
    以下のURLを参考にして解決することができました。

    *ただgifだけは背景が黒くなってしまいます。

    http://www.thinkplexx.com/blog/nadi/wordpress-image-croping-does-only-jpeg-buddypress-avatar-cropping-uppload-transparency-problem

    /wp-admin/includes/image.phpの中身を書き換えたところ
    Pingに限り透過色が白になりました。

    phpをあまり理解していないので根本的な解決にはなっていませんが
    もし同じような方がいた時の為にURLを残しておきます。

    これを応用すればgif画像の透過も背景色を白にできるのでしょうか?

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「画像をアップロードすると透過部分が黒くなってしまう」には新たに返信することはできません。