【问题标题】:How to enlarge image to normal size in ASP.NET 2.0如何在 ASP.NET 2.0 中将图像放大到正常大小
【发布时间】:2009-03-10 09:57:35
【问题描述】:
  • 我的用户上传了一张图片,图片保存到我的 SQl Server 数据库中
  • 我的用户在大小为 150 x 150 像素的普通 Image WebControl 中查看页面上的图片 - 示例可以在 http://www.erate.co.za/CompanyProfile.aspx?ID=112 找到 - 美国国旗是我正在谈论的图片。

如果用户上传一张 300 像素 x 200 像素的图片,该图片在我的静态 150 像素 x 150 像素图片框中会看起来很有趣。知道如何显示图像以使其不会模糊吗?

另外,当用户点击 150 x 150 像素的图像时,如何在屏幕上显示某种形式的弹出窗口,显示数据库中图片的实际大小。

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

问候 艾蒂安

【问题讨论】:

    标签: c# asp.net sql-server vb.net asp.net-2.0


    【解决方案1】:

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

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

    所以您的缩略图大小始终为 150 像素 x 150 像素。 存储在数据库中的实际图像(宽度/高度)会有所不同。

    您首先显示调整大小的缩略图列表,这些缩略图显示完整图像 当您单击缩略图项目时,在弹出窗口中。

    “缩略图”图像的代码:

            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 图像,但可以进行调整以适应数据库中存储的任何图像/类型。

    莫伊布莱。

    编辑: 固定图像格式

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 这可以工作....但现在我需要显示图片的原始尺寸。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-19
      • 2013-11-28
      • 1970-01-01
      • 1970-01-01
      • 2018-11-02
      • 2020-06-14
      • 2013-06-21
      相关资源
      最近更新 更多