2016-09-30 27 views
0

Cloudinary已出版一種工具,用於響應圖像自動生成斷點:http://www.responsivebreakpoints.com/算法自動地確定最佳的響應圖像斷點

的斷點和圖像使用這些旋鈕調諧:

  1. 分辨率範圍(前200像素到1400像素)
  2. 每個圖像之間的最小文件大小差異
  3. 要生成的圖像的最大數量
  4. 由圖像裁剪到不同的長寬比

藝術指導的問題

  • 藝術方向可以通過使用智能作物工具和麪部檢測可以容易地解決。一個例子是smartcrop.js

    前3個條件進一步複雜化的條件:

    1. 不同的圖像格式將具有不同的文件大小,以圖像尺寸比。
    2. 根據圖像本身的不同,它也會有不同的文件大小與圖像大小比例。

    我能想到的唯一方法是生成幾個斷點,生成這些圖像,然後檢查約束並根據需要進行調整和重新生成。但是,這種蠻力方法似乎效率極低。考慮到這些條件,是否有任何生成響應斷點的算法(沒有暴力破解)?

  • 回答

    0

    我關於點的想法:

    1. 分辨率範圍(例如200像素到1400px)
    2. 每個圖像之間的最小文件大小差
    3. 的圖像的最大數目,以產生

    它可能並不總是正確的,但我會假設更高的分辨率總是導致更大的文件大小。換句話說,文件的大小與參數圖像大小一樣是一個強大的單調增長函數。

    對於所有的壓縮算法,這可能並非如此,但對所有壓縮算法來說都是相當好的近似值。

    有了這個假設,您可以通過圖像大小空間中的二分搜索來獲取任何文件大小。這意味着您不必創建許多不同的圖像來滿足您的需求。

    備註:
    他們接縫不使用不同的圖像格式的生成的圖像。所以這個過程總是隻用一種文件格式完成。