Orchard 1.7 以降のメディア処理機能を使用して、画像に特定のサイズを指定することはできませんが、正しいサイズで表示されるようにすることはできます。
Orchard 1.7 では、メディア プロファイルの概念が導入されました。これにより、多数の画像変換を効果的に作成し、それらに名前を付けて、サイト全体で任意に使用できます。
最近のプロジェクトで、Orchard サイトの紹介ページ用に大量の顧客プロフィール写真を受け取りました。それらはさまざまなサイズで提供されており、少なくとも 2 つの異なるサイズが必要であることはわかっていました (1 つはメインの紹介ページ用で、もう 1 つは他のページに表示される紹介ウィジェット用です)。
管理者ダッシュボードで、Media -> Profiles に移動し、Customer_Profile_Regular という名前の新しいメディア プロファイルを作成し、サイズ変更フィルターを追加して 100x100px に縮小しました (サイズ変更フィルターは非常に柔軟で、実装することで独自のフィルターを簡単に作成できます)。IImageFilterProvider
インターフェイス)。
2 番目のプロファイルである Customer_Profile_Small についても同じことを行い、50x50 に縮小しました。
次に、Shape Tracing を使用して、既存のメディア ライブラリ ピッカー フィールドの表示形状をオーバーライドし、次のように置き換えました。
@{
var imagesField = Model.ContentItem.Testimonial.CustomerProfile;
}
@if(imagesField.MediaParts.Any()) {
<div class="customer-profile-image">
@Display.MediaUrl(Profile: "Customer_Profile_Regular", Path: imagesField.MediaParts.First().MediaUrl)
</div>
}
証言ウィジェットの場合は、同様の形状のオーバーライドを作成し、別のプロファイル名を指定するだけでした。
これで、任意の画像をメディア ライブラリにアップロードして、お客様の声の顧客プロファイル画像として使用できるようになりました。Orchard は、使用するように指示したプロファイルに基づいて画像のサイズを自動的に変更 (またはその他の操作を実行) します。その結果はサイトの Media フォルダーに保存され、必要な場合にのみ再生成されます。