C# 使用MaxHeight和MaxWidth调整图像大小

C# 使用MaxHeight和MaxWidth调整图像大小,c#,asp.net,image,C#,Asp.net,Image,我想在这里用这个问题的答案: 但我的图像是.Net图像。我想知道是否有任何方法可以使用.Net图像的maxheight和maxwidth约束按比例调整图像大小。以下是asp代码的外观: <asp:Image ID="Image1" runat="server" Height="445px" Visible="False" Width="640px" /> 如果我正确理解了您的问题,您正在尝试在网页上显示图像。为什么不使用或只是将side设置为100% <asp:Image I

我想在这里用这个问题的答案:

但我的图像是.Net图像。我想知道是否有任何方法可以使用.Net图像的maxheight和maxwidth约束按比例调整图像大小。以下是asp代码的外观:

<asp:Image ID="Image1" runat="server" Height="445px" Visible="False" Width="640px" />

如果我正确理解了您的问题,您正在尝试在网页上显示图像。为什么不使用或只是将side设置为100%

<asp:Image ID="Image1" runat="server" Height="445px" Visible="False" Width="100%" />


您也可以尝试“自动”设置

如果我正确理解了您的问题,您正在尝试在网页上显示图像。为什么不使用或只是将side设置为100%

<asp:Image ID="Image1" runat="server" Height="445px" Visible="False" Width="100%" />


您也可以尝试“自动”设置

asp.Net映像具有与Winforms映像相同的属性。 您仍然可以使用Image1.Height和Image1.Width。 只需将高度和宽度设置为这些属性。请检查一个示例:

protected void Page_Load(System.Object sender, System.EventArgs e) {
    if (!Page.IsPostBack) {
        LoadImage();
    }
}

private void LoadImage(){
    Image1.ImageUrl = LoadURLFromDatabase(params);
    Image1.Width = (int)(image.Width * ratio);
    Image1.Height = (int)(image.Height * ratio);
}

asp.Net映像具有与Winforms映像相同的属性。 您仍然可以使用Image1.Height和Image1.Width。 只需将高度和宽度设置为这些属性。请检查一个示例:

protected void Page_Load(System.Object sender, System.EventArgs e) {
    if (!Page.IsPostBack) {
        LoadImage();
    }
}

private void LoadImage(){
    Image1.ImageUrl = LoadURLFromDatabase(params);
    Image1.Width = (int)(image.Width * ratio);
    Image1.Height = (int)(image.Height * ratio);
}

我想将所有图像显示为一个大小,所以我设置了maxHeight和maxWidth。但是我想调整图像的大小,使其与maxHeight和maxWidthKevin成比例,Kevin,你想要的。如果某些图像具有不同的纵横比,则无法以一种尺寸显示所有图像。您可以调整它们的大小,但纵横比将无法保持,因此它们看起来会很奇怪。你必须决定什么更重要:一个尺寸而不保持纵横比,或者一个侧面的尺寸。我想把所有图像显示为一个尺寸,所以我设置了maxHeight和maxWidth。但是我想调整图像的大小,使其与maxHeight和maxWidthKevin成比例,Kevin,你想要的。如果某些图像具有不同的纵横比,则无法以一种尺寸显示所有图像。您可以调整它们的大小,但纵横比将无法保持,因此它们看起来会很奇怪。你必须决定什么是更重要的:一个尺寸不保持纵横比,或者一个尺寸的一面。嗯……我知道接下来会出现一个愚蠢的问题。我已经使用System.Web.UI.WebControl.Image和公共部分类ImageScaler:System.Web.UI.WebControl.Image,但它说找不到映像是否缺少引用或程序集?(我已经将对System.Web的引用添加到我的项目中)。不需要创建类来调整图像大小。。当您将源图像绑定到控件时,只需修改我提供的代码并在ASPX页面代码中使用即可。很酷,谢谢我这么做了!好的,有一件事,我知道这是越来越挑剔,可能非常复杂。你知道一些网站是如何显示所有尺寸相同的图片的(例如,facebook,所有图片的大小都被调整为相同的尺寸?)。这是怎么回事?这段代码工作得很好,但是每个图像的宽度/高度会根据比率而有所不同。然而不知何故,比如facebook图片,上传图片的比例保持不变,图片的尺寸都是相同的,它们会裁剪图片。您可以在上载个人资料照片或相册照片时验证这一点。我认为,在时间轴中,他们可能会裁剪照片,但当你点击并显示原始照片时,它看起来是全尺寸的。(如果你把问题解决了,就把这个问题作为答案。)嗯……我知道有个愚蠢的问题。我已经使用System.Web.UI.WebControl.Image和公共部分类ImageScaler:System.Web.UI.WebControl.Image,但它说找不到映像是否缺少引用或程序集?(我已经将对System.Web的引用添加到我的项目中)。不需要创建类来调整图像大小。。当您将源图像绑定到控件时,只需修改我提供的代码并在ASPX页面代码中使用即可。很酷,谢谢我这么做了!好的,有一件事,我知道这是越来越挑剔,可能非常复杂。你知道一些网站是如何显示所有尺寸相同的图片的(例如,facebook,所有图片的大小都被调整为相同的尺寸?)。这是怎么回事?这段代码工作得很好,但是每个图像的宽度/高度会根据比率而有所不同。然而不知何故,比如facebook图片,上传图片的比例保持不变,图片的尺寸都是相同的,它们会裁剪图片。您可以在上载个人资料照片或相册照片时验证这一点。我认为,在时间轴中,他们可能会裁剪照片,但当你点击并显示原始照片时,它看起来是全尺寸的。(如果问题已解决,请将问题标记为答案;)