Tôi hiện đang sử dụng blobstore để tạo hình thu nhỏ cho hình ảnh, tuy nhiên, tôi muốn lưu trữ kích thước của hình thu nhỏ trong thẻ img
đó là thực hành tốt và giúp tăng tốc độ hiển thị và làm cho trang được tải một phần trông đẹp hơn một chút.App Engine: Tính toán kích thước của hình thu nhỏ được tạo bằng cách phân phối hình thu nhỏ từ blobstore
Tôi làm cách nào để tính kích thước của hình thu nhỏ được tạo bởi blobstore, chỉ biết kích thước của hình ảnh gốc?
Lần thử trước đó của tôi không chính xác lắm, phần lớn thời gian bị tắt bởi một hoặc hai pixel (có thể do làm tròn).
Tôi hiểu rằng tìm nạp hình thu nhỏ và sử dụng API hình ảnh để kiểm tra kích thước sẽ hoạt động, nhưng tôi nghĩ điều đó không hiệu quả.
Đây là mã tôi sử dụng để tính toán vào lúc này, tuy nhiên, thỉnh thoảng nó được tắt bởi một pixel, khiến trình duyệt hơi căng hình ảnh, làm thay đổi kích thước đồ tạo tác cũng như ít hiệu suất hơn.
from __future__ import division
def resized_size(original_width, original_height, width, height):
original_ratio = float(original_width)/float(original_height)
resize_ratio = float(width)/float(height)
if original_ratio >= resize_ratio:
return int(width), int(round(float(width)/float(original_ratio)))
else:
return int(round(float(original_ratio) * float(height))), int(height)
Độ chính xác là rất quan trọng!
Câu hỏi hay!Bạn đã thử công thức nào và trong trường hợp nào là sai? –
@systempuntoout, tôi không tạo chúng, API phân phát hình ảnh của Google và API không cung cấp thứ nguyên. @ Nick Johnson, tôi đã cập nhật câu hỏi của mình với mã tôi đang sử dụng hiện tại. –