Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
 Аватар для Михалыч
1011 / 355 / 59
Регистрация: 28.02.2013
Сообщений: 939
PyQt5

Вращение и масштабирование при наложении картинок

27.05.2022, 09:17. Показов 1317. Ответов 5

Студворк — интернет-сервис помощи студентам
Добрый день! Подскажите, пожалуйста, как при наложении картинок повернуть одну картинку относительно другой (желательно в градусах) и отмасштабировать?

Есть две картинки: map.jpg и res.jpg
Я их накладываю одну на другую и получаю map_plus_res.jpg.

Python
1
2
3
4
5
6
7
8
9
10
11
from PySide2 import QtGui
 
app = QtGui.QGuiApplication([])
# Положим одну картинку на другую
pixmap_map = QtGui.QPixmap('map.jpg')
painter = QtGui.QPainter(pixmap_map)
painter.begin(pixmap_map)
painter.setOpacity(0.5)
painter.drawPixmap(0, 0, QtGui.QPixmap('res.jpg'))
painter.end()
pixmap_map.save('map_plus_res.jpg')
Как res.jpg сместить, повернуть и немного увеличить? (maybe.jpg)
Миниатюры
Вращение и масштабирование при наложении картинок   Вращение и масштабирование при наложении картинок   Вращение и масштабирование при наложении картинок  

Изображения
 
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.05.2022, 09:17
Ответы с готовыми решениями:

вычисление координат при наложении картинок
Привет) Хочу наложить надпись (представляет собой текст в прямоугольнике) поверх основной картинки, можно сказать что это нужно для...

Вращение и масштабирование !
Нужно добавить вращение и масштабироваиние звезды . Подскажите как это сделать или покажите пжл. private void timer1_Tick(object sender,...

Перемещение, вращение и масштабирование в JavaFX
Приветствую вас знатоки Java(FX) Просто нереально как нуждаюсь в вашей помощи, будьте добры выручите. Как уже делать я просто без...

5
 Аватар для Михалыч
1011 / 355 / 59
Регистрация: 28.02.2013
Сообщений: 939
28.05.2022, 14:11  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from PySide2 import QtGui
 
 
app = QtGui.QGuiApplication([])
# Положим одну картинку на другую
pixmap_map = QtGui.QPixmap('map.jpg')
pixmap_zone = QtGui.QPixmap('res.jpg')
# **************************************
pixmap_zone = pixmap_zone.scaled(300, 300)
t = QtGui.QTransform().rotate(35)
# **************************************
painter = QtGui.QPainter(pixmap_map)
painter.begin(pixmap_map)
painter.setOpacity(0.5)
painter.drawPixmap(150, 150, pixmap_zone.transformed(t))
painter.end()
pixmap_map.save('map_plus_res.jpg')
Миниатюры
Вращение и масштабирование при наложении картинок  
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
29.05.2022, 16:41
Михалыч, попробуйте использовать не jpg, а png с прозрачностью вместо белого фона, возможно это будет лучше смотрется..
1
 Аватар для Михалыч
1011 / 355 / 59
Регистрация: 28.02.2013
Сообщений: 939
29.05.2022, 18:55  [ТС]
u235, я просто не стал вставлять лишнее, что бы код не загромождать Обычно чищу фон через createMaskFromColor, для цветов "около-белый".

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from PyQt5.QtGui import QGuiApplication, QPixmap, QColor
from PyQt5.QtCore import Qt
 
 
app = QGuiApplication([])
 
pixmap = QPixmap("test.jpg")
 
for i in range(1,6):
    for k in range(1,6):
        for j in range(1,6):
            pixmap.setMask(pixmap.createMaskFromColor(QColor(250+i, 250+k, 250+j)))
 
pixmap.save('out.png')
1
 Аватар для kapbepucm
1566 / 739 / 321
Регистрация: 02.05.2020
Сообщений: 1,658
31.05.2022, 16:12
Цитата Сообщение от Михалыч Посмотреть сообщение
как при наложении картинок повернуть одну картинку относительно другой (желательно в градусах) и отмасштабировать?
-painter.drawPixmap map.jpg
-painter.translate
-painter.rotate
-painter.scale
-painter.drawPixmap res.jpg
1
 Аватар для Михалыч
1011 / 355 / 59
Регистрация: 28.02.2013
Сообщений: 939
31.05.2022, 16:19  [ТС]
Цитата Сообщение от kapbepucm Посмотреть сообщение
-painter.translate
Как раз то что надо было
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.05.2022, 16:19
Помогаю со студенческими работами здесь

Вращение, масштабирование, сдвиг изображений. Работает, но есть баг
Доброго дня. Пытался решить задачу вращения, масштабирования и сдвига изображения. Попробовал, наверное, все, что описано в...

Построение прямоугольника,его масштабирование,вращение вокруг осей и перенос
Здравствуйте!Помогите пожалуйста найти ошибку в коде...программа запускается,но отрисовка прямоугольников выходит в итоге не правильная ,я...

Открытие, чтение, вращение по осям, масштабирование и выбор геометрических фигур
Есть код на С#, не получается его переделать, под требуемые значения. а это выбор фигур из списка, масштабирование, вращение по...

Масштабирование картинок
Помогите, пожалуйста. У меня имеется несколько картинок. Мне нужно сделать выбранную картинку масштабируемой с использованием библиотеки...

Масштабирование картинок на сайте
Загружая на сайт достаточно большую картинку, присваиваю ей, скажем width="80%". И все браузеры воспринимают это адекватно, кроме IE! Ему...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru