Форум сайта python.su
Здравствуйте, необходимо повернуть изображение emf на 90 градусов для последующей вставки в openoffice? Как это сделать?
Пробовал pyemf. Мало знаком с ним.
import math as m import pyemf emf = pyemf.EMF() d=45.0 angle=m.radians(d) emf.load('scr01.emf') emf2 = pyemf.EMF(width=10, height=10) emf2.SetWorldTransform(m.cos(angle),-m.sin(angle), m.sin(angle),m.cos(angle), 0.0, 0.0) for r in emf.records: emf2._append(r) emf2.save('scr02_rot.emf')
Отредактировано __akm__ (Ноя. 8, 2017 08:33:51)
Прикреплённый файлы: scr01.emf (175,6 KБ)
Офлайн
http://python.su/forum/topic/2057/
Первый ответ. Если не лень ставить PyQt - пожалуйста!
Думаю, pyqt и для этого формата подойдет
Отредактировано damilkrose (Ноя. 10, 2017 22:16:02)
Офлайн
Я остановился на таком способе
#! usr/bin/env python # -*- coding: utf-8 -*- import os import pyemf from PIL import Image def main(imageloc, rotation, dpi): emf = pyemf.EMF() emf.load(imageloc) # увеличиваем размер в пикселях для увеличения dpi emf.dc.bounds_right *= dpi/72.0 emf.dc.bounds_bottom *= dpi/72.0 name = os.path.basename(imageloc).split('.')[0] emf_scaled = name + '_scaled.emf' emf.save(emf_scaled) im = Image.open(emf_scaled) im = im.rotate(rotation) im.save(name + '.png') if __name__ == '__main__': main('scr01.emf', 90.0, 300)
Отредактировано __akm__ (Ноя. 14, 2017 14:52:48)
Офлайн