代码之家  ›  专栏  ›  技术社区  ›  Etienne

如何在ASP.NET 2.0中将图像放大到正常大小

  •  0
  • Etienne  · 技术社区  · 16 年前
    • 我的用户上载图片,图片保存到我的SQL Server数据库中
    • 我的用户在页面上的普通图像WebControl中查看图片,大小为150px x x 150px-可以找到示例 http://www.erate.co.za/CompanyProfile.aspx?ID=112 -我说的是美国国旗。

    如果用户在200px之前上传一张300px的图片,那么在静态150px到150px的图片框中,这个图片看起来会很有趣。知道如何显示图像,使其不模糊吗?

    此外,如何能有某种形式的弹出窗口,将出现在屏幕上,显示当用户单击150px×150px图像时,数据库中图片的实际大小。

    注意:我不希望图像静态大小增加,因为这将完全扰乱我的页面布局和外观。它一定是某种弹出式的东西。我以前见过的东西我觉得很酷。用户单击小图像,然后在屏幕中间出现一个弹出窗口,显示图片的实际大小,页面上的所有ELL都被禁用,直到用户单击“关闭”按钮。 这可以在ASP.NET 2.0中完成吗?或者类似的?

    当做 艾蒂安

    2 回复  |  直到 16 年前
        1
  •  1
  •   Konrad    16 年前

    使用固定宽度/高度的缩略图。

    您可以动态调整实际图像的大小(存储在数据库中)。

    所以你的图姆内尔尺寸总是150px乘150px。 存储在数据库中的实际图像(宽度/高度)会有所不同。

    首先显示显示显示完整图像的已调整大小的缩略图列表 在弹出窗口中单击缩略图项。

    “缩略图”图像的代码:

            byte[] getResizedImage(String path, int width, int height)
            {
                try
                {
                    Bitmap imgIn = new Bitmap(path);
    
                    //Scale
                    double y = imgIn.Height;
                    double x = imgIn.Width;
                    double factor = 1;
                    if (width > 0)
                    {
                        factor = width / x;
                    }
                    else if (height > 0)
                    {
                        factor = height / y;
                    }
    
                    System.IO.MemoryStream outStream = new System.IO.MemoryStream();
                    Bitmap imgOut = new Bitmap((int)(x * factor), (int)(y * factor));
                    Graphics g = Graphics.FromImage(imgOut);
                    g.Clear(Color.White);
                    g.DrawImage(imgIn, new Rectangle(0, 0, (int)(factor * x), (int)(factor * y)), new Rectangle(0, 0, (int)x, (int)y), GraphicsUnit.Pixel);
                    imgOut.Save(outStream, ImageFormat.Jpeg);
    
                    return outStream.ToArray();
    
                }
                catch (Exception)
                {
    ...
                }
    
            }
    

    此示例在Web服务器文件系统上使用.jpg图像,但可以根据存储在数据库中的任何图像/类型进行调整。

    Mooi bly。

    编辑: 固定图像格式

        2
  •  0
  •   Chris McAtackney    16 年前