カスタムロゴにSVGを使用したときのサイズ設定について

0
いいねをした人: 居ません
15件の投稿を表示中 - 1 - 15件目 (全21件中)
  • 投稿者
    投稿
  • #77394
    川井昌彦
    参加者
    18

    【お使いの Snow Monkey のバージョン】14.3.4
    【お使いの Snow Monkey Blocks のバージョン】
    【お使いの Snow Monkey Editor のバージョン】
    【お使いのブラウザ】chrome
    【当該サイトのURL】https://hokota-tps.org

    ### 実現したいこと

    サイトロゴをくっきり見せたいのでSVG形式を使いたいと考えています。

    ### 発生している問題

    Safe SVG プラグインでSVGのアップロードができるようにして、サイト基本情報でロゴをSVG形式のものにしたところ、デザイン > 基本デザイン設定 でカスタムロゴの拡大率設定のフィールドが表示されなくなりました。
    (ロゴがJPG, PNG形式だと表示されます)

    カスタムロゴにSVG形式を使用した際にロゴのサイズを指定するには、CSSで指定しないといけないのでしょうか?

    1
    いいねをした人:
    #77406
    キタジマ タカシ
    参加者
    2258

    カスタムロゴサイズの設定が表示されるかどうかのロジックは以下のとおりです。

    if ( ! Helper::use_auto_custom_logo_size() ) {
    	return false;
    }
    
    $custom_logo = get_custom_logo();
    if ( ! $custom_logo ) {
    	return false;
    }
    
    preg_match( '/height="(\d+?)"/', $custom_logo, $reg );
    if ( ! isset( $reg[1] ) ) {
    	return false;
    }

    1つ目はフックでの判定なので置いておくとして、2つ目はロゴがあるかどうか、3つ目はロゴに height 属性があるかどうか、になります。ロゴが表示されるのであれば2つ目はクリアしていると思うので、おそらくロゴに height 属性がついていないのだと思います。Safe SVG プラグインは使ったことがないので詳しくありませんが、height を出力しない仕様なのではないでしょうか(それかもともとの svg に height があれば出力されるとか?)。

    なぜサイズの設定項目の表示条件がこのようになっているかというと、もともとのサイズ = height に対して設定した割合を書けてサイズを上書き指定するような仕組みになっているためです。なのでもともとのサイズ = height が存在しなければ計算ができないので、height が存在しない場合は設定項目は表示されない、という仕組みにしています。

    1
    いいねをした人:
    #77419
    川井昌彦
    参加者
    18

    早速のご回答ありがとうございます。

    SVGを調べてみたところ、ちゃんとwidth, height は指定されていました。
    WordPressのメディアライブラリでもサイズが表示されます。
    ここで、WordPressはviewboxの値を見ているようでした。
    そして、viewboxの値に小数点が入っていました。

    そこで、viewboxの値を整数値にしたところサイズの設定項目が現れました。
    (具体的には IllustratorのSVG書き出し設定で小数点以下の値を0に設定)

    また、width, heightは設定されていなくても、viewboxの値に問題がなければ大丈夫なようです。

    ありがとうございました。

    0
    いいねをした人: 居ません
    #77422
    キタジマ タカシ
    参加者
    2258

    あーなるほど、正規表現が整数にしか一致しないようになってますね。小数にも対応するように修正をいれてみようかと思います。

    4
    いいねをした人:
    #77424
    山崎 大祐
    参加者
    112

    私はそのような仕様だと諦めてましたw
    対応させていただければ私もありがたいです。
    川井さん、キタジマさんありがとうございます!

    2
    いいねをした人:
    #77586
    キタジマ タカシ
    参加者
    2258

    もしかしたら仕様だったのかもwですが、全く覚えていないので、やってみてできそうだったら変更を入れたいと思います。

    2
    いいねをした人:
    #77739
    キタジマ タカシ
    参加者
    2258
    <svg
      xmlns="http://www.w3.org/2000/svg"
      xmlns:xlink="http://www.w3.org/1999/xlink"
      width="120.5" height="120.5"
      viewBox="0 0 120.5 120.5"
      preserveAspectRatio="xMidYMid meet"
    >
      <rect x="0" y="0" width="100%" height="100%" fill="purple"/>
    </svg>

    こんな感じで適当な svg をつくってみたのですが、アップロードすると 120×120 になってしまいます…。どんな属性値のファイルをアップロードされていますかね…?

    0
    いいねをした人: 居ません
    #77748
    川井昌彦
    参加者
    18

    キタジマさん

    私が書き出したのは、下記のようなSVGです。
    これだと、カスタムロゴの拡大率設定のフィールドが表示されません。

    <svg xmlns=”http://www.w3.org/2000/svg” viewBox=”0 0 752.43 149.17″>・・・</svg>

    上記の小数点を消すと、拡大率設定のフィールドが表示されました。
    width, height の値は見ていないようでした。
    よろしくお願いいたします。

    0
    いいねをした人: 居ません
    #77824
    キタジマ タカシ
    参加者
    2258
    <svg
      xmlns="http://www.w3.org/2000/svg"
      xmlns:xlink="http://www.w3.org/1999/xlink"
      viewBox="0 0 149.17 149.17"
    >
      <rect x="0" y="0" width="100%" height="100%" fill="purple"/>
    </svg>

    だと確かに拡大率の設定が出なかったのですが、

    <svg
      xmlns="http://www.w3.org/2000/svg"
      xmlns:xlink="http://www.w3.org/1999/xlink"
      viewBox="0 0 149 149"
    >
      <rect x="0" y="0" width="100%" height="100%" fill="purple"/>
    </svg>

    にしてもでないままでした。

    <svg
      xmlns="http://www.w3.org/2000/svg"
      xmlns:xlink="http://www.w3.org/1999/xlink"
      width="149.17"
      height="149.17"
      viewBox="0 0 149.17 149.17"
    >
      <rect x="0" y="0" width="100%" height="100%" fill="purple"/>
    </svg>

    とすると、149×149の画像として認識され、拡大率の項目も表示されます。「width, height の値は見ていないようでした。」とのことですが、ちょっとこちらでは再現できずでした。

    0
    いいねをした人: 居ません
    #77829
    川井昌彦
    参加者
    18

    キタジマさん
    ご確認ありがとうございます。

    いろいろ試していたので、私の勘違いもあるかもしれません。
    後でもう一度確認してみます。

    0
    いいねをした人: 居ません
    #77837
    山崎 大祐
    参加者
    112

    私もSVGロゴを試したところ、以下の環境で、「PC 時のカスタムロゴの拡大率(%)」が表示されました!

    プラグイン:Safe SVG バージョン 1.9.9

    1)SVG書き出し:illastrator → ロゴサイズ:縦横小数点なし 小数点以下の桁数→0
    ◯ 表示されました

    2)SVG書き出し:illastrator → ロゴサイズ:縦横小数点なし 小数点以下の桁数→1~3
    ◯ 表示されました

    3)SVG書き出し:illastrator → ロゴサイズ:縦横小数点あり 小数点以下の桁数→0
    ◯ 表示されました

    4)SVG書き出し:illastrator → ロゴサイズ:縦横小数点あり 小数点以下の桁数→1~3
    ☓ 表示されない

    参考コード:表示されたSVGコード
    <svg id="レイヤー_1" data-name="レイヤー 1" xmlns="http://www.w3.org/2000/svg" width="115" height="115" viewBox="0 0 115 115"><g id="トンボ"><circle cx="58" cy="58" r="57" fill="#00619c"/><path>※省略</path </svg>

    2
    いいねをした人:
    #77892
    キタジマ タカシ
    参加者
    2258

    Yamasaki Daisuke さん
    3)と4)の svg ファイルをいただくことってできますか?

    0
    いいねをした人: 居ません
    #77894
    山崎 大祐
    参加者
    112

    キタジマさん

    >Slackで送りますね!

    0
    いいねをした人: 居ません
    #77904
    キタジマ タカシ
    参加者
    2258

    3)と4)の svg ファイルありがとうございます!どちらも試してみました。

    3) は261 x 261の画像として、4)は260 x 260の画像として登録され、どちらの場合でも拡大率の項目が表示されました。

    で、今気づいたのですが「Safe SVG」ではなく「SVG Support」をインストールしてしまっていました…。なので「Safe SVG」でまた試してみようと思います。

    0
    いいねをした人: 居ません
    #77906
    キタジマ タカシ
    参加者
    2258

    Safe SVG で試してみました。Safe SVG だと width / height が小数点以下を保持したまま保存されるようです。そして、4)の場合は拡大率の項目が表示されませんでした。これは変更をいれて表示できるようにできそうなので、次のリリースで対応します。

    いずれにしろ、height が無い場合は項目は表示されませんので、そこはご注意ください!

    1
    いいねをした人:
15件の投稿を表示中 - 1 - 15件目 (全21件中)
  • トピック「カスタムロゴにSVGを使用したときのサイズ設定について」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。