吐圖機 、圖像處理 thumbnail



通常做縮圖的幾種做法

  • 上傳前 Client 產生
  • 上傳圖片時 Server 產生
  • 取圖的時候即時產生

後者很吃 Server 效能,畢竟取圖可容許的延遲很低。


另外產圖機與 Storage 的距離也是重點,經測試同個 region, EC2 與 S3 之間還是有不小延遲
,導致取圖的速度低落,此狀況可嘗試

  1. 用程式產圖、從 S3 直接取圖(改domain, S3章節)
  2. 用 AWS lambda


    清除 CloudFront 快取

    須到 cloudfront->xxx.asensetek.com->Invalidations->Create->將該圖片路徑輸入
    ex. /img/th/1avvvvvd67510d6b38356ef6b3ebdabf_product_import_prod_512x512.png

    Parse Server (Adapter)

    AWS lambda

    PHP library

    • intervention/image (推!)
      • Laravel integration
    • imagine/imagine (推!)
      • 非 Laravel 推薦使用
      • png 背景透明 正常
      • 若圖片最小邊小於裁切尺寸,會保留原始高度,產生空白邊
    • eventviva/php-image-resize https://github.com/eventviva/php-image-resize
      • resize only
      • 簡單用
      • 預設自動轉向
    • Gregwar/image https://github.com/Gregwar/Image
      • 自動轉向 fixOrientation()
    • claviska/SimpleImage https://github.com/claviska/SimpleImage
      • 推 jpg,png/gif 不要用這套
      • 自動轉向 $image->autoOrient()
      • 短邊縮圖 thumbnail()
        • 遇到 png 透明背景 會變黑
      • 長邊縮圖 bestFit()
        • 遇到 png 透明背景 轉換正常

    現成服務

    狀況
    • exif_read_data(): "Illegal IFD size"
      • 加上 @ 跳過錯誤訊息

    吐圖機 、圖像處理 thumbnail 吐圖機 、圖像處理 thumbnail Reviewed by Wild on 8/01/2017 11:06:00 上午 Rating: 5

    沒有留言:

    沒有Google帳號也可發表意見唷!

    技術提供:Blogger.