0

ImageResizingライブラリの一部、特にサイズ変更、ディスクキャッシュ、透かしをテストしています。

すべてが正しくインストールされ、次のような URL リンクがあると思います。

<img src="/images/tests/mytest.png?w=300&watermark=style1" />

ブラウザで適切にレンダリングされ、ランダム/ハッシュされたファイル名でディスクにキャッシュされます。ただし、透かしが入った静止画像を提供する方法がわかりません。ディスクキャッシュがファイル名だけに基づいてキャッシュされた画像を提供できることを望んでいましたが、それを見ると、クエリ文字列が必要であると思います(実際、クエリ文字列で静的に提供されるとうまくレンダリングされます)。

<resizer>web.config の私のセクションは次のとおりです。

<resizer>
    <pipeline fakeExtensions=".ashx" />
    <plugins>
      <add name="DiskCache" />
      <add name="AdvancedFilters" />
      <add name="Watermark" />
      <add name="SimpleFilters" />
    </plugins>
    <diskCache dir="~/imagecache" />
    <watermarks>
      <otherimages path="~/site/watermarks" />
      <image name="style" path="~/site/watermarks/wmtest.png" imageQuery="filter=alpha(0.65)" Top="175" Left="32" />
    </watermarks>
  </resizer>

表面的には、キャッシュファイルに名前を付けることができ、静的な方法で要求された場合でもキャッシュされたファイルが提供されるため、 ImageDraw (別の非常に有能なライブラリ) がキャッシュを処理する方法が気に入っています。欠点は、コード ビハインドで ImageDraw をプログラムするのが非常に重くなる可能性があることです。

私の主な目標は、クエリ文字列を変更しても回避できない著作権情報で透かしを入れた特定の画像を作成することです。2 つ目の目標は、特にサムネイルで、高速で効率的なサイズ変更とキャッシュを提供することです。ImageResizing は私の二次的な目標に非常に適しているようですが、別の方法を見逃していない限り、キャッシュはクエリ文字列オプション (文書化されています) でのみ機能するようです...したがって、私の主な質問です。

また、明確でない場合は、両方のライブラリ ( ImageResizingImageDraw ) をテストして、どちらがニーズに適しているかを確認しています。現在、私は Cassini でローカルに作業していますが、展開は ASP.NET 4.0 で実行されているアプリを使用して IIS7 サーバーに行われます。

4

1 に答える 1