У меня есть следующие коды разметки, в которых есть элемент div контейнера, и тег img, вложенный внутри div. У контейнера div есть свойства стиля ширины, высоты, верхнего и левого CSS.C# .NET: изменение размера изображения внутри элемента div контейнера
Первоначально загруженное изображение имеет произвольную ширину и высоту, которые могут быть больше или меньше контейнера div. Таким образом, первоначально загруженное изображение должно быть изменено и масштабировано и сохранено в виде миниатюры, чтобы сидеть в границах контейнера div. Это изменяется уменьшенное изображение будет показано в качестве источника (SRC) в следующих пометок:
<div id="divContainer" style="width: 600px; height: 450px; top: 50px; left: 20px;">
<img src="[my resized and well scaled thumbnail source]..." id="imgResizedThumnail" />
</div>
В другой .NET страницу формы, есть файл тегов, позволяя пользователям загружать исходное изображение с локального жесткого диска. Это загруженное изображение должно быть изменено и сохранено как другое уменьшенное изображение с наилучшим масштабированием. «Наилучшее сканирование» означает, что уменьшенное изображение имеет пропорциональное соотношение ширины и высоты, а миниатюра должна находиться в контейнере div.
Мой метод C# .NET выглядит следующим образом, и у меня есть вопросы о логике кода в этом методе.
...
using System.Drawing;
public void SaveThumbnailImageWithbestScaling(Image originalImage, int containerDivWidth, int containerDivHeight)
{
// input containerDivWidth and containerDivHeight are dynamic!
// 1. How can I calculate the scale variable?
double scale = ??? // how can I do the codes here?
// 2. Use that scale to determine the dimension of resized thumbnail image from
// the input originalImage for following variables "thumnailWidth" and "thumnailHeight"
string thumbnailFilename = "myThumnailFileName";
int thumnailWidth = ??? // how can I do the codes here?
int thumnailHeight = ??? // how can I do the codes here?
Bitmap thumnailImage = CreateThumbnail(thumbnailFilename,int thumnailWidth, int thumnailHeight);
// 3. save thumbnail
SaveThumnail(thumnailImage);
}
public void Bitmap CreateThumbnail(string lcFilename,int lnWidth, int lnHeight)
{
...
}
public void thumnailImage (Bitmap thumnail)
{
...
}