10/10/2018, 00:23
Làm sao resize hình mà không làm biến dạng
Mình có rất nhiều hình ảnh với nhiều kích thước khác nhau.
Giờ mình cần resize lại ở kích thước 70x70 - nhưng dùng thử 1 vài phần mêm thì hình bị biến dạng.Không gán kích thước 70x70 thì nó ra đẹp nhưng kích thước không đồng bộ.
Bạn nào biết giúp mình với .
Thanks,
Giờ mình cần resize lại ở kích thước 70x70 - nhưng dùng thử 1 vài phần mêm thì hình bị biến dạng.Không gán kích thước 70x70 thì nó ra đẹp nhưng kích thước không đồng bộ.
Bạn nào biết giúp mình với .
Thanks,
Bài liên quan
dùng cái photo uploader của nó để upload 1 mớ photo lên, trong đó có tính năng resize the largest side to 1 con số nào đó, bác gõ 70 thì nó tự động resize theo ý bác muốn.
tức là tỉ lệ dài rộng vẫn được giữ, nhưng cách chọn cạnh để nhân tam suất sẽ khác nhau, nếu chiều dài dài hơn thì sẽ được nhân, nếu chiều rộng dài hơn thì sẽ được nhân.
chỉ có giữ tỉ lệ ảnh gốc thì mới ko làm ảnh biến dạng thôi.
Ví dụ bạn có 1 cái hình gốc có size là width = x, height = y;
Bạn muốn resize nó mà ko muốn bị méo mó thì có 3 cách.
cách 1: resize theo chiều rộng của ảnh đích
Ví dụ khi resize bạn không cần biết ảnh ban đầu có kich thước thế nào nhưng muốn ảnh đích (ảnh sau khi resize tạo ra) có chiều rộng cố định là 100px chẳng hạn. ==> chiều cao của ảnh đích sẽ là : (100/x)*y;
Cách 2 là theo chiều cao ảnh đích cố định tương tự => chiều rộng của ảnh đích sẽ là (100/y)*x;
Cách thứ 3(nên theo cách này): resize hình với fix chiều rộng và cao của ảnh đích. Ví dụ tôi muôn ảnh đích sau khi resize có chiều cao và chiều rộng không quá 100 px. Như vậy nếu ảnh gốc có rộng > cao => ảnh đích sẽ có chiều rộng 100 từ đó suy tiếp ra chiều cao (cách 2). Ngược lại thì chiều cao sẽ là 100 từ đó suy ra chiều rộng (cách 1).
Thực chất chỉ là tính toán thế nào cho ra dc kich thước ảnh gốc và tỉ lệ rộng/cao của nó bằng đúng tỉ lệ đó của ảnh gốc. Lúc đó sẽ dc ảnh như ý.
Có bác ở trên dùng crop. Tuy nhiên cách chỉ dùng truong trường hợp đặc biệt. Và thường có rủi ro cắt hỏng hình. Ví dụ cắt 1 bức ảnh chân dung. Ảnh tốt ko sao. Vớ phải cái hình người nằm lung tung => khi xác định tọa độ để crop sai => mất đầu, mất chân ..v...v..
Tài liệu hướng dẫn nè:
http://codeigniter.com/user_guide/li...image_lib.html
Nhưng đó là dùng trong frame work codegniter. Bạn có thể dùng cái thư viện bất kỳ đâu bằng cách new đối tượng thôi