10/10/2018, 11:19

giúp em cách sắp xếp hình theo kích thước

em đang xây dựng một website bán hàng ,trang sản phẩm của em gồm hình ảnh và ghi chú,hình ảnh sản phẩm có rất nhiều kích thước em đã quy định chiều cao tối thiểu cho hình ảnh còn chiều rộng để auto để hình không biến dang, khi hiện lên web thì chiều cao các hình bằng nhau còn chiều rộng thì khác nhau,em muốn khi load len các hình sẽ được sắpp xếp theo kích thước chiều ngang tăng dần được không.csdl của em gồm 2 trường tênhình và ghichú
haicop viết 13:34 ngày 10/10/2018
Bạn nên làm như này, VD hình vuông 150x150 px

Khi upload ảnh thumb nó rộng và cao tối đa là 150px, phải hi sinh 1 chiều, sau đó đưa cái ảnh này vào 1 DIV hoặc table 150x 150px lúc show ra thì website sẽ đẹp
ngoc_viet08 viết 13:22 ngày 10/10/2018
chả ai order kích thước hình ảnh bao vờ cả. trừ khi đó là site chuyên về ảnh
hoangcn02 viết 13:27 ngày 10/10/2018
Được gửi bởi lonque3x
em đang xây dựng một website bán hàng ,trang sản phẩm của em gồm hình ảnh và ghi chú,hình ảnh sản phẩm có rất nhiều kích thước em đã quy định chiều cao tối thiểu cho hình ảnh còn chiều rộng để auto để hình không biến dang, khi hiện lên web thì chiều cao các hình bằng nhau còn chiều rộng thì khác nhau,em muốn khi load len các hình sẽ được sắpp xếp theo kích thước chiều ngang tăng dần được không.csdl của em gồm 2 trường tênhình và ghichú
Bạn có thể dùng hàm filesize để lấy kích thước của hình ảnh sau đó đưa vào mảng sắp xếp lại và in ra màn hình.
Nhưng với web thường thì không cần thiết lắm, có thể fix kích thước cố định khi hiển thị hình ảnh như vậy website trông hài hòa hơn.Tức phải có sự hợp tác của người cập nhật thông tin cho website nữa
honnhienh viết 13:28 ngày 10/10/2018
bạn có thể create thumbnail của hình bằng cách fix maxwidth và maxheight. sau đó tính độ ratio của hình => create thumbnail này theo ration

đây là 1 hàm đơn giản về ration
Code:
function calculateDimensions($width, $height, $maxWidth, $maxHeight){
$ret = array('w' => $width, 'h' => $height);
$ratio = $width / $height;
if ($width > $maxWidth || $height > $maxHeight) {
$ret['w'] = $maxWidth;
$ret['h'] = $ret['w'] / $ratio;
if ($ret['h'] > $maxHeight) {
$ret['h'] = $maxHeight;
$ret['w'] = $ret['h'] * $ratio;
}
}
return $ret;
}
lonque3x viết 13:21 ngày 10/10/2018
Được gửi bởi hoangcn02
Bạn có thể dùng hàm filesize để lấy kích thước của hình ảnh sau đó đưa vào mảng sắp xếp lại và in ra màn hình.
Nhưng với web thường thì không cần thiết lắm, có thể fix kích thước cố định khi hiển thị hình ảnh như vậy website trông hài hòa hơn.Tức phải có sự hợp tác của người cập nhật thông tin cho website nữa
cảm ơn mọi người góp ý mấy cách trên cách nao cũng được nhưng trong trường hợp của em thì cách này là hợp với trường hợp của em ,anh hoangcn02;2596628 có thể viết code ra cho em đươc ko ah
hình của em có 2 loại kích thước hà 120x120 và 140 x140 em muốn khi hiện lên những hình có kích thước 120 x120 được sắp lên trên còn hình 140x140 sắp ở dưới.nghĩa là sắp tăng dần theo filesize ấy mong mọi người giúp đỡ
thuyduongcd viết 13:24 ngày 10/10/2018
Cần phân biệt rõ filesize và imagesize.
Không phải cứ filesize lớn hơn thì imagesize lớn hơn.
chuotbach862003 viết 13:32 ngày 10/10/2018
Mọi người cho Thành hỏi, bên Thành sản phẩm có nhiều kích thướt nhưng giờ fix hình ảnh là w900x h670 hết, nhưng khi đưa lên giao diện của web hình ảnh bị co lại khác với hình ảnh mình đã cố định , vậy phải làm sao?
spider_man88 viết 13:23 ngày 10/10/2018
mình thấy dùng ngay thẻ width higth trong thẻ img để bo lại vẫn được mà.
Bài liên quan
0