【问题标题】:checking uploaded image resolution and details at client side在客户端检查上传的图像分辨率和详细信息
【发布时间】:2011-05-30 05:01:21
【问题描述】:

在flex中,我们所做的,一般都是从flex端上传图片,然后上传到服务器, 我想知道,我们可以做一些细节检查吗,比如我想在上传到服务器之前找出图像分辨率(在客户端),

有两个好处,一是客户端上传图片不需要等待很长时间,二是万一找到图片分辨率是在服务器端,所以需要时间,甚至图片上传上传的分辨率不符合预期

其次,将改进与 flex 应用程序的用户交互和界面,

所以,请对这种从 flex 端进行的检查提出一些想法

【问题讨论】:

    标签: apache-flex actionscript-3 flex4 flash


    【解决方案1】:

    如果您指的是加载到您的 flex 应用程序中的位图的宽度/高度测量值, 宽度/高度存储在 BitmapData 结构中 http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/BitmapData.html

    对于 Image flex 控件,它可以通过构造来访问:

    // image_control is an instance of mx.controls.Image
    var width:Number = 0;
    var height:Number = 0;
    if (image_control.content is Bitmap)
    {
       height= (image_control.content as Bitmap).bitmapData.width;
       height= (image_control.content as Bitmap).bitmapData.height;
    }
    

    【讨论】:

    • image.contentWidth 和 image.contentHeight 也可以:)
    【解决方案2】:

    我想您说的是桌面应用程序。否则你将无法访问任何本地文件(你只能初始化它上传到服务器)。

    要使用 jpg 和 png,您可以使用 as3corelib 的 com.adobe.images 包。 Trere 能够获取图像的高度/宽度或分辨率。

    虽然我相信在服务器端对图像执行操作会更好

    【讨论】:

      【解决方案3】:

      对于 flex,您可以使用 FileReference.browse 函数从硬盘加载文件。如果要检查图像的宽度和高度,可以参考 Dmitry Sapelnikov 的回答。如果要查看图片的总字节数,可以试试:

      var bitmapByteSize:int = bitmap.bitmapData.getPixels(bitmap.bitmapData.rect).length;
      

      仅检查图像的分辨率可能还不够。如果您需要修改图像,您可以查看以下内容: http://marstonstudio.com/2007/10/19/how-to-take-a-snapshot-of-a-flash-movie-and-automatically-upload-the-jpg-to-a-server-in-three-easy-steps/

      它可能会给你一些提示。

      【讨论】:

        【解决方案4】:

        您的 Flex 应用程序是桌面应用程序吗?如果是这样,您可以先从用户的硬盘加载文件,例如:http://mariusht.com/blog/2009/04/01/loading-local-images-directly-into-flash-player-10/

        然后在将其发送到服务器之前获取宽度和高度(可能还有一种获取大小的方法)。

        顺便说一句,要在网络上显示的任何图像的分辨率始终为 72 DPI。例如,您无法更改 jpeg 或 png 的分辨率,但可以以不同的分辨率打印它们。我认为您实际上是在寻找尺寸(宽度/高度)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-08-04
          • 2019-07-05
          • 2017-10-02
          • 1970-01-01
          • 2010-11-26
          • 2016-07-22
          • 1970-01-01
          相关资源
          最近更新 更多