【问题标题】:Thumbnails asp.net缩略图 asp.net
【发布时间】:2009-07-23 21:45:35
【问题描述】:

我正在尝试编写一个应用程序,该应用程序允许用户单击按钮以在模式弹出窗口中的文件夹中以缩略图形式查看图像。在我的模态弹出窗口中,我有一个数据列表。但从那里我不知道去哪里。我已经尝试过 4guysfromrolla 解决方案,但这不是我想要的。如何将图像设置为缩略图?我已经有以下......

Dim files As String() = Directory.GetFiles(Server.MapPath("~/Folder1/Folder2/"), "*.jpg")

    For Each File As String In files
        File = File.Substring(File.LastIndexOf("/") + 1, File.Length)
        'Response.Write(File & "<br>")

        File = File & "~/Folder1/Folder2/"

        Dim image As Image = New Image()
        image.ImageUrl = File
        image.Height = 50
        image.Width = 50
        Me.Controls.Add(image)

    Next

已编辑:新问题

我想在 javascript onmouseover 中更改图像的大小。

image.Attributes.add("onmouseover","change size here")

Panel2.controls.add(image)

这里可以这样做吗?

【问题讨论】:

  • 好的,看起来你已经完成了缩略图模式窗口。你想问什么??
  • 对不起,我说得更清楚了。
  • 当您的代码 sn-p 在 VB.NET 中时,您的问题是否被标记为 C#?
  • 我可以读写两者。我认为大多数人都是用 C# 编写的,并且更倾向于查看问题。
  • 拉起 FireBug 看看你的图片是否得到 404...你的 ImageUrl 生成看起来不对?

标签: c# asp.net visual-studio visual-studio-2008 image


【解决方案1】:
<asp:DataList ID="dl_thumbs" runat="server">
<ItemTemplate>
    <img src="<%# Eval("imageUrl") %>" height="50" width="50" title="<%# Eval("imageTitle") %>" alt="<%# Eval("imageAlt") %>"/>
</ItemTemplate>
</asp:DataList>



private void InitData(string folder)
{

    var files = Directory.GetFiles(Server.MapPath(folder));



    var images = files.Select(i =>
                        new
                        {
                            imageUrl = folder + Path.GetFileName(i),
                            imageTitle = Path.GetFileName(i),
                            imageAlt = Path.GetFileName(i)
                        });

    dl_thumbs.DataSource = images;
    dl_thumbs.DataBind();
}

图像文件如何保存在您的文件夹结构中?

缩略图通常是原始文件的处理和优化版本。

原始文件 500x500,然后缩略图将被处理到 50x50。

您应该有 2 个(或更多版本的图像..)

myfavImageName.jpg

myfavImageName.thumb.jpg

甚至添加另一个文件夹 [Thumbs]

/Folder1/Folder2/myfavImageName.jpg

/Folder1/Folder2/thumbs/myfavImageName.jpg

您也可以使用 Path 来获取文件名。它不易出错:

filename =  Path.GetFileName(File);

【讨论】:

【解决方案2】:

这就是我所做的。

Dim files As String() = Directory.GetFiles(Server.MapPath("~/folder1/folder2/"), "*.jpg")
    For Each File As String In files
        Dim substr As String = File.Substring(0, File.LastIndexOf("\"))

        File = File.Replace(substr, "")

        File = "~/Folder1/Folder2" & File
        Dim image As Image = New Image()
        image.ImageUrl = File
        image.Height = 50
        image.Width = 50
        Panel1.Controls.Add(image)
        'Panel1.FindControl("dlpictures").Controls.Add(image)
    Next

【讨论】:

    猜你喜欢
    • 2010-10-03
    • 2011-06-28
    • 2011-10-22
    • 1970-01-01
    • 2011-07-03
    • 2011-08-11
    • 2015-06-07
    • 2011-09-03
    • 2023-03-25
    相关资源
    最近更新 更多