IImageProfileManager
コンストラクターで設定したコントローラーへの参照が必要です
private readonly IImageProfileManager _imageProfileManager;
コントローラーアクション内でGetImageProfileUrl
、画像のサイズを変更する呼び出しを行うことができます。
これを ResizeMediaUrl シェイプからハッキングし、Mode、Alignment、および Color 設定をハードコーディングしました。
例えば
private string DoTheResize(int Width, int Height, string path)
{
var Mode = "pad";
var Alignment = "middlecenter";
var PadColor = "000000";
var state = new Dictionary<string, string> {
{"Width", Width.ToString(CultureInfo.InvariantCulture)},
{"Height", Height.ToString(CultureInfo.InvariantCulture)},
{"Mode", Mode},
{"Alignment", Alignment},
{"PadColor", PadColor},
};
var filter = new FilterRecord
{
Category = "Transform",
Type = "Resize",
State = FormParametersHelper.ToString(state)
};
var profile = "Transform_Resize"
+ "_w_" + Convert.ToString(Width)
+ "_h_" + Convert.ToString(Height)
+ "_m_" + Convert.ToString(Mode)
+ "_a_" + Convert.ToString(Alignment)
+ "_c_" + Convert.ToString(PadColor);
var resizedImagePath = _imageProfileManager.GetImageProfileUrl(path, profile, filter);
return resizedImagePath;
}