Мне нужно знать размер места назначения изображения до того, как imageresizer действительно выполнит переразмер. И я не хочу открывать файл изображения.Знайте полученный размер изображения перед выполнением изменения размера в Imageresizer
У меня есть исходный размер изображения и параметры imageresizer.
Я хочу написать IMG тег так:
<img src="/files/rb45_45667.jpg?height=150&quality=90" width="XXX" height="YYY">
Я попытался с ImageState
var imagestate = new ImageState(new ResizeSettings("height=150;quality=90"), new Size(1000,500), true);
imagestate.destSize = PolygonMath.RoundPoints(imagestate.layout.GetBoundingBox().Size);
, но это не будет работать, потому что я думаю, что я должен выполнять все защищенные методы ImageBuilder Layout:
protected override RequestedAction Layout(ImageState s) {
if (base.Layout(s) == RequestedAction.Cancel) return RequestedAction.Cancel;
FlipExistingPoints(s); //Not implemented
LayoutImage(s);
PostLayoutImage(s);
LayoutPadding(s);
PostLayoutPadding(s);
LayoutBorder(s);
PostLayoutBorder(s);
LayoutEffects(s);
PostLayoutEffects(s);
LayoutMargin(s);
PostLayoutMargin(s);
LayoutRotate(s);
PostLayoutRotate(s);
LayoutNormalize(s);
PostLayoutNormalize(s);
LayoutRound(s);
PostLayoutRound(s);
EndLayout(s);
return RequestedAction.None;
}
Но это невозможно без открытия ИНГ файл изображения ...
В ImageState документации они говорят:
Инкапсулирует состояние изображения изменения размера. Может использоваться для имитации изменения размера, а также для его выполнения.
Но я не знаю, как это сделать.
Это точно правильный способ сделать это. –