Если ваш источник изображения является png
, используйте следующие функции:
Image imgSmall = imgBig.getScaledInstance(
targetWidth, targetHeight, Image.SCALE_SMOOTH);
Если вы хотите изменить размер jpeg или gif без лишнего качества, я создал библиотеку в 2010 году для этого: beautylib on github , который использует внутренне эту другую библиотеку: java-image-scaling . Вы можете непосредственно увидеть исходный код, чтобы найти что-то полезное: https://github.com/felipelalli/beautylib/blob/master/src/br/eti/fml/beautylib/ResizeImage.java
Я думаю, что сама документация говорит сама за себя.
Вы можете достичь того же результата в
Метод-1
from django.db.models import FilteredRelation, Q
result_1 = Restaurant.objects.annotate(pizzas_vegetarian=FilteredRelation('pizzas', condition=Q(pizzas__vegetarian=True), ), ).filter(
pizzas_vegetarian__name__icontains='mozzarella')
Метод-2
result_2 = Restaurant.objects.filter(pizzas__vegetarian=True, pizzas__name__icontains='mozzarella')
Вы получите лучшую производительность с Метод-1 , так как фильтрация в предложении WHERE первый набор запросов будет работать только на вегетарианской пицце.
Билет Django # 29555 содержит больше информации об использовании и производительности.
[1112 ] FilteredRelation()
не только улучшает производительность, но и создает правильные результаты при агрегировании с несколькими LEFT JOIN
с.