【问题标题】:Do i need to return back the image dimensions for ios in json response?我是否需要在 json 响应中返回 ios 的图像尺寸?
【发布时间】:2015-12-17 09:13:11
【问题描述】:

我已经建立了一个网站,可以在文件系统上存储 4 种不同大小的图像。它保留原始文件大小、中、拇指、小图像,并在上传时调整它们的大小。

然后我们创建了 web api 以允许我们构建 ios/android 应用程序。

在构建 api 时,我们的海外开发人员要求提供图像尺寸以及图像文件名。在计算图像大小并将其保存到数据库方面花费了大量工作。

{ "imagefilename" : "someimage.jpg", "LargeimageHeight" : "1000",  
"LargeimageWidth" : "500", "mediumImageHeight" : "500",
"mediumImageWidth" :       "250",
"smallImageHeight" : "100", "smallImageWidth" : "60" }

我们在网站上拥有的大量图像部分使它成为一项任务,我想知道这是否真的需要。我不是 ios 开发人员,但不确定为什么需要保存或确实需要图像的附加尺寸。

我以为 ios 有图片功能 (@3x) (@2x) (@3x) ??

还是我为 ios 使用 1 个特定的文件夹图像大小??

对于代码需要知道图像尺寸以获得最佳结果的图像,这是否总是在 ios 世界中发生?

谢谢

【问题讨论】:

    标签: ios image asp.net-web-api image-resizing


    【解决方案1】:

    如果您的 iOS 应用程序以流式布局(如 pinterest 样式)显示图像,您必须返回图像尺寸。否则我认为它没有必要

    【讨论】:

    • 实际上是的,它是一种带有 2 列产品列表的 pintrest 样式。但这只是使用 pinterest 风格的 1 个部分。也许我们不需要为所有其他 api 这样做。谢谢你
    【解决方案2】:
    1. 是否需要返回图片尺寸:

      • 简答:否。您可以使用UIImage 加载图像,并调用image.size.heightimage.size.width

      • 长答案:也许,取决于您的应用程序的界面设计,如果每个图像都有不同的尺寸,则在加载图像之前可能会影响性能获得它的大小(并且可能进行自动布局并让它在屏幕上呈现)。您可能会遇到滚动速度问题,但这取决于具体的设计和要求。

    2. 什么是@2x@3x iOS 图片功能

      iPhone 和 iPad 屏幕具有不同的像素密度(非视网膜、视网膜和视网膜 iPhone 6+ 屏幕)。如果您有本地图像,存储在手机上,它可以自动预加载具有正确比例的图像,只需提供图像的基本名称,如果您为每个资产添加正确的后缀,例如 name@2x 等。

      遗憾的是,它对远程图像不起作用 see this answer。您必须检查自己的比例并加载正确的图像,或加载一个大文件,然后在设备上调整其大小。

    【讨论】:

      【解决方案3】:

      您应该考虑在 API 响应中提供维度。

      思考设计: 当您扩展您的应用程序以同时拥有许多图像时,或者当您将应用程序分发到多个设备时,您可能会意识到这种优势。您的 iphone 4 最终可能会下载用于 iPhone 6S 的图像(更糟糕的是,图像),等等。如果反过来,想想就更可怕了。

      设备要求它最适合的图像怎么样?

      关于图像的缩放,Bram De Geyter 是正确的 - 您可以渲染设备上的任何内容,而不是从服务器获取正确的内容。因此,让您的 API 为您提供正确的维度是唯一的解决方案。

      我已经描述了整个image loading from API approach in my blog here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-27
        • 1970-01-01
        • 2016-12-18
        • 1970-01-01
        • 2022-01-12
        • 2020-08-16
        相关资源
        最近更新 更多