Hỏi về resize hình trong nodejs



  • Mình vẫn chưa rõ về vấn đề kích thước ảnh. Kích thước bạn nhận được là bao nhiêu? Kích thước mong muốn là bao nhiêu?

    Còn về vấn đề chất lượng ảnh, hàm scale chú trọng vào performance nên chỉ mặc định sử dụng filter box nên chất lượng ảnh không cao. Nếu bạn quan tâm đến chất lượng ảnh, bạn nên sử dụng hàm resize thay cho scale vì hàm resize sử dụng filter lanczos, chạy chậm hơn nhưng cho chất lượng ảnh tốt hơn rất nhiều.



  • @tresdin đã nói trong Hỏi về resize hình trong nodejs:

    Mình vẫn chưa rõ về vấn đề kích thước ảnh. Kích thước bạn nhận được là bao nhiêu? Kích thước mong muốn là bao nhiêu?

    Còn về vấn đề chất lượng ảnh, hàm scale chú trọng vào performance nên chỉ mặc định sử dụng filter box nên chất lượng ảnh không cao. Nếu bạn quan tâm đến chất lượng ảnh, bạn nên sử dụng hàm resize thay cho scale vì hàm resize sử dụng filter lanczos, chạy chậm hơn nhưng cho chất lượng ảnh tốt hơn rất nhiều.

    resize xong cache lại, kết hợp với dùng optipng, jpegoptim, gifsicle thì chỉ chậm lần đầu, về sau sử dụng vẫn đảm bảo tốc độ cậu ạ


  • Global Moderator

    @nvs2394 đã nói trong Hỏi về resize hình trong nodejs:

    có hình được có hình không được đó bạn. mình mới test lại thì nó ra thế này
    Hình gốc : 0_1464937331068_hgo3.jpg
    hình resize
    0_1464937357640_img_240_240_thumbnail_E1mu8Na18os9R1qxG1Rd.jpg

    lạ nhỉ, mình vẫn resize bình thường mà, demo này
    tapchiviet dot info



  • bạn resize bằng cái code ở trên bạn paste cho mình phải ko. sao bên mình không dc ta


  • Global Moderator

    @nvs2394 đã nói trong Hỏi về resize hình trong nodejs:

    bạn resize bằng cái code ở trên bạn paste cho mình phải ko. sao bên mình không dc ta

    đúng rồi bạn, đoạn đó là mình crop rồi pipe luôn ra cùng response nên code nó như này

    var cropGravity = 'Center';
    var imgGm2 = gm(readstream, filename).resize(new_width, new_height, '^').gravity(cropGravity).crop(new_width, new_height);
    imgGm2.stream().pipe(res);



  • cái new_width và new_height mà bạn truyền vào là số hay là phải xử lí gì nữa không bạn.



  • @nvs2394 đã nói trong Hỏi về resize hình trong nodejs:

    cái new_width và new_height mà bạn truyền vào là số hay là phải xử lí gì nữa không bạn.

    nó là số thôi bạn, mình đặt biến để lấy size theo url ấy mà



  • có lẽ là do cái lấy size (width, height) của mình thì truyền vào (500,200)
    đó. chứ code mình thấy giống nhau


  • Global Moderator

    @nvs2394 đã nói trong Hỏi về resize hình trong nodejs:

    có lẽ là do cái lấy size (width, height) của mình thì truyền vào (500,200)
    đó. chứ code mình thấy giống nhau

    bạn thử hardcode xem sao


Log in to reply