【问题标题】:Instagram API custom image widthInstagram API 自定义图像宽度
【发布时间】:2012-12-24 01:32:42
【问题描述】:

我正在尝试使用 Instagram API 为 Instagram 中的图像设置自定义宽度。我正在使用主题标签来获取所有相关的图像。我可以要求 Instagram 为我提供自定义图像尺寸吗?我知道有 3 种尺寸:缩略图、低分辨率、标准分辨率。这就是我所能得到的吗?谢谢!

【问题讨论】:

  • 我认为您必须自己更改图像大小...不过,我还没有查看 API。
  • 我需要 Instagram 为我提供特定尺寸的图片。这可能吗?
  • 我认为您必须抓取图像,例如使用标准分辨率,然后自己更改图像大小...sitepoint.com/image-resizing-php
  • 好的,这是低于标准分辨率的解决方案。有没有办法获得比标准分辨率更大的尺寸
  • 这取决于...如果您阅读此处的信息 (help.instagram.com/276722745781769),您会发现 Instagram 始终以最佳分辨率保存/上传照片。但是,不同设备的分辨率不同,因此您可能并不总是处理相同大小的图像...

标签: php instagram


【解决方案1】:

Instagram API 返回三种标准图像分辨率。还有一个额外的未记录的图像大小,您也可以使用,但是,这在未来可能会有点脆弱/可靠的变化,也可能违反他们的服务条款(不确定)。当我看到 Instagram 网站提供更高分辨率的图片时,我注意到这张图片是可用的——我不太确定 Instagram 为什么选择不提供这张图片。

通过 API,您可以获得以下标准图像尺寸:

缩略图 (150 x 150)

https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s150x150/e15/11821182_168255950173048_11130460_n.jpg

低分辨率 (320 x 320)

https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s320x320/e15/11821182_168255950173048_11130460_n.jpg

标准分辨率 (640 x 640)

https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s640x640/sh0.08/e35/11821182_168255950173048_11130460_n.jpg

然后,通过查看他们的网站,我注意到他们提供了 1080 x 1080 的更大版本的文件:

无证大图 (1080 x 1080)

https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s1080x1080/e15/11821182_168255950173048_11130460_n.jpg

【讨论】:

  • 我发现你甚至可以请求2048x2048: scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/s2048x2048/… 但它只是提供1080x1080。我假设如果原始图像大于或等于(宽度和高度)大于或等于此值,则提供 2048 平方,否则会退回到下一个较低的分辨率。
  • 在大小部分之后,您可以插入一个可选的锐化因子/sh0.40/,例如。
【解决方案2】:

简单地在_5(或_6,ie)上进行搜索和替换以获得您想要的大小(见下文):

图像大小似乎是:

http://distilleryimage7.s3.amazonaws.com/xxxxxxxxx_7.jpg

612px × 612px

http://distilleryimage7.s3.amazonaws.com/xxxxxxxxx_6.jpg

306px × 306px

http://distilleryimage7.s3.amazonaws.com/xxxxxxxxx_5.jpg

150px × 150px

似乎 _8,_4,_3 不是有效尺寸。

【讨论】:

  • 此信息已过时,Instagram 不再使用其distilleryimage* 主机名。
【解决方案3】:

Instagram 使用Amazon S3 来保存它的照片,并且具有一定的命名约定,如下所示:

http://distilleryimage7.s3.amazonaws.com/f4947c1004ca11e2a0c81231380ff428_7.jpg
http://distilleryimage7.s3.amazonaws.com/f4947c1004ca11e2a0c81231380ff428_6.jpg
http://distilleryimage7.s3.amazonaws.com/f4947c1004ca11e2a0c81231380ff428_5.jpg

只需通过 API 获取照片 URL,然后将图像 URL 中的 _7、_6、_5 更改为另一个值(通过搜索/替换),您就可以控制图像的大小。

【讨论】:

  • 感谢大家的改进
  • 此信息已过时,Instagram 不再使用其distilleryimage* 主机名。
【解决方案4】:

正如之前的海报所描述的,Instagram 无法提供您需要的精确尺寸的图片。它们只有三个或四个默认尺寸可用。

您需要实现某种中间件来为您调整图像大小或使用https://tiny.pictures/ 之类的服务(免责声明:我是开发人员)为您完成。

【讨论】:

    【解决方案5】:

    我知道这是一篇旧帖子,但我想我应该补充一点,可用的图像尺寸不止三种(或四种)。我写了一个简短的 Python 脚本,发现如下:

      12    90   200   376   719
      16    96   203   390   720
      24   100   206   403   750
      30   111   224   405   768
      32   112   240   408   800
      34   114   243   417   810
      40   118   256   468   936
      43   120   262   479   959
      48   128   270   480   960
      50   129   279   512  1008
      56   130   280   515  1024
      57   133   285   540  1029
      60   135   288   562  1056
      64   147   306   564  1080
      68   148   319   599  1225
      73   150   320   600  1300
      74   160   332   624  1440
      75   180   338   640  1536
      80   190   350   672  2048
      86   192   360   704
    

    据我所知,高于 1080 的所有值(即 1225、1300、1440、1536、2048)都返回 1080。

    我用一张方形照片进行了测试,所以我不知道不同纵横比会有什么效果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-26
      • 1970-01-01
      • 2013-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多