Php 在';灯箱';其维度大于大多数桌面分辨率

Php 在';灯箱';其维度大于大多数桌面分辨率,php,jquery,crop,image-resizing,Php,Jquery,Crop,Image Resizing,我使用Lightview 3在iframe中显示图像。该表单允许用户放大和缩小图像,并在提交表单时根据视图中的图像提交表单以生成缩略图 我的问题是,我们必须使用海量图像(宽度1100px+)等。。因此,在lightview中打开它看起来并不太好,因为iframe中有滚动条 当图像正确创建全尺寸图像的缩略图时,以其一半大小显示图像并使用某种缩放形式的最佳方法是什么。有人能提出一些方法吗 -我的最爱(支持很多东西,不仅仅是图像) 这是一份精心编制的备选方案清单 这种事我已经做过很多次了。我的环境是A

我使用Lightview 3在iframe中显示图像。该表单允许用户放大和缩小图像,并在提交表单时根据视图中的图像提交表单以生成缩略图

我的问题是,我们必须使用海量图像(宽度1100px+)等。。因此,在lightview中打开它看起来并不太好,因为iframe中有滚动条

当图像正确创建全尺寸图像的缩略图时,以其一半大小显示图像并使用某种缩放形式的最佳方法是什么。有人能提出一些方法吗

  • -我的最爱(支持很多东西,不仅仅是图像)
  • 这是一份精心编制的备选方案清单

  • 这种事我已经做过很多次了。我的环境是ASP.NET,使用Visual Basic和我用于在何处和实现所需结果的技术

    首先,我设置了FancyBox(还没有使用FancyBox 2)来打开一个带有iframe的模式弹出窗口,其中的页面有一个预览区域(在我的例子中是344x270)和一个使用uploadify上传图像的位置

    上传、验证和创建缩略图后,我会创建一个对象来保存有关此图像的信息。这包括文件名、扩展名、原始宽度和高度,以及用于缩放图像以适应我的344x270预览(cropbox)区域的新宽度和高度

    为了找到这个新的宽度和高度,我使用VB.NET中编写的以下代码:

    Dim objImage As System.Drawing.Image = System.Drawing.Image.FromFile(path)
    Dim orig_h = objImage.Height
    Dim orig_w = objImage.Width
    Dim cropbox_width, cropbox_height As Integer
    If objImage.Width > objImage.Height Then
        cropbox_width = 344
        cropbox_height = (344 / objImage.Width) * objImage.Height
    
        If cropbox_height > 270 Then
            Do Until cropbox_height <= 270
                 cropbox_width = cropbox_width - 1
                 cropbox_height = (cropbox_width / objImage.Width) * objImage.Height
             Loop
         End If
     Else
        cropbox_height = 270
        cropbox_width = (270 / objImage.Height) * objImage.Width
    
        If cropbox_width > 344 Then
            Do Until cropbox_width <= 344
                   cropbox_height = cropbox_height - 1
                   cropbox_width = (cropbox_height / objImage.Height) * objImage.Width
             Loop
         End If
      End If
    
    Dim objImage As System.Drawing.Image=System.Drawing.Image.FromFile(路径)
    尺寸原点h=对象图像高度
    尺寸原点w=对象图像宽度
    Dim cropbox_宽度,cropbox_高度为整数
    如果对象图像宽度>对象图像高度,则
    cropbox_宽度=344
    cropbox_高度=(344/对象图像宽度)*对象图像高度
    如果cropbox_高度>270,则
    直到cropbox_高度344为止
    
    直到cropbox_width为止,我认为他不是在要求一个灯箱替代品。@zgood,我认为他不想在VB或asp中这样做。这个问题有一个PHP和一个jQuery标签。顺便说一下,他谈论的是LightView而不是LightBox。Fancybox做了他想做的事情(它调整了大图像的大小以适应任何屏幕),正如我从他的问题中所理解的那样。请下次公平一点。我看到了PHP标签,但我不懂PHP,所以我用我知道的语言给出了一个例子。一个好的程序员应该仍然能够看到和理解逻辑(if和循环),并解释为他们选择的语言。此外,lightbox是使用模式弹出窗口显示图像的通用术语。看见是的,有一些插件叫做,但我不是指它们。最后,FancyBox不会调整图像大小-它会调整自身大小以适应图像。我刚才说的是FancyBox v.2,如果图像不适合屏幕,它会缩放图像(使用css)。以下是示例:。如果图像太小,请尝试调整窗口大小,直到它不适合。