3

私は300 DPIのpng画像とpdf画像に次のsvg画像を持っています。

<svg width="640" height="480" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->
 <defs>
  <filter height="200%" width="200%" y="-50%" x="-50%" id="svg_1_blur">
   <feGaussianBlur stdDeviation="10" in="SourceGraphic"/>
  </filter>
 </defs>
 <g>
  <title>Layer 1</title>
  <image filter="url(#svg_1_blur)" xlink:href="images/logo.png" id="svg_1" height="162.999996" width="223.999992" y="99" x="185"/>
  <text xml:space="preserve" text-anchor="middle" font-family="serif" font-size="24" id="svg_2" y="210" x="289" stroke-width="0" stroke="#000000" fill="#000000">sdfdsdsfsdf</text>
 </g>
</svg>

PHP を使用してこれを行いたいと思います。画像のぼかしフィルターにフィルターを適用しました。それを保持したいと思います。

また、IE9ではぼかし効果が表示されないため、IEでこの画像を表示する際に問題があります。助言がありますか?

4

2 に答える 2

1

GD のimagefilterでそのようなものを生成できます:

imagefilter($image_res, IMG_FILTER_GAUSSIAN_BLUR);

また

imagefilter($image_res, IMG_FILTER_SMOOTH, (int) $levelOfSmoothness);

ただし、より複雑な svg の場合は、SVG rendererが必要になります。

編集

または、畳み込み行列について十分に知っている場合:

$gaussian = array(array(1.0, 2.0, 1.0), array(2.0, 4.0, 2.0), array(1.0, 2.0, 1.0));
imageconvolution($image, $gaussian, 16, 0);
于 2012-10-23T14:12:42.940 に答える