Ich erstelle MVC4 Website und möchte jedes erlaubte Bild aus der Datenbank anzeigen. Das Problem ist, dass Bilder unterschiedliche Größe haben, einige von ihnen haben Hochformat und die anderen haben Landschaft. Zuallererst müssen alle Bilder das Seitenverhältnis beibehalten. Jedes Bild wird in einer div-benannten Karte angezeigt und es sollte eine Standardgröße haben (Größe I, die in Kontrolle eingestellt ist). Also muss ich das Bild auf diese Weise skalieren, dass weder die Höhe noch die Breite die Höhe und die Breite der Steuerung überschreiten darf. Zum Beispiel, wenn ein Bild Hochformat hat, darf die Höhe nicht höher sein als , also wenn das Bild eine Querformatausrichtung hat, sollte es auf diese Weise skaliert werden, damit die Breite nicht die Breite von überschreiten kann. ich Bilder auf diese Weise angezeigt:MVC4 Bildgröße auf maximale Höhe oder maximale Breite ändern
-Controller
[ChildActionOnly]
public ActionResult _PhotoGallery(int number)
{
List<Photo> photos;
if (number == 0)
{
photos = context.FindAllUnVisiblePhotos(true).OrderByDescending(x => x.CreatedDate).ToList();
}
else
{
photos = context.FindAllUnVisiblePhotos(true).OrderByDescending(x => x.CreatedDate).Take(number).ToList();
}
return PartialView("_PhotoGallery", photos);
}
Ansicht
@foreach (var item in Model)
{
<div class="photo-index-card">
<div style="float:left; padding: 2px 2px 2px 2px; margin: 0px 0px 10px 0px; height: 20px;">
<div>@item.Title</div>
</div>
<div style="float:left;">
@if (item.PhotoFile != null)
{
<a href="@Url.Action("Display", "Photo", new { id = item.PhotoID })">
<img class="photo-index-card-img" src="@Url.Action("GetImage", "Photo", new { id = item.PhotoID })" />
</a>
}
</div>
</div>
}
GetImage
public FileContentResult GetImage(int id)
{
Photo photo = context.FindPhotoById(id);
if (photo.PhotoFile != null)
{
return File(photo.PhotoFile, photo.ImageMimeType);
}
else
{
return null;
}
}
Wie konnte ich die Größe von Bildern requrements passen?