猫史档案馆


【Python作品分享】画中画【作品秀】

用户:英俊小子英俊小子查看:0 回复:0 评论:0 创建时间:2021-02-25T10:17:59


【作品展示】

center_image

 

【作品介绍】

点击1选择图片,点击2选择素材,点击3保存

 

【作品源代码】

import sys
from PySide2.QtCore import*
from PySide2.QtWidgets import*
from PySide2.QtGui import*


class Tray(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setup()
        self.show()

    def setup(self):
        self.img=None
        self.material=None
        self.painter=QPainter()

    def paintEvent(self,event):
        if self.img:
            self.painter.begin(self)
            self.painter.drawPixmap(0,0,self.img)
            self.painter.end()
    
    def mousePressEvent(self,event):
        x=event.x()
        y=event.y()
        if self.img and self.material:
            self.painter.begin(self.img)
            w=self.material.width()//2 
            h=self.material.height()//2
            self.painter.drawPixmap(x-w,y-h,self.material)
            self.painter.end()
            #self.img.save('画家.png')
            self.update()
    
    def keyPressEvent(self,event):
        if event.key()==Qt.Key_1:
            file,_=QFileDialog.getOpenFileName(caption='选择原图',filter='( *.jpg *.png *.bmp)')             
            if file:
                self.img=QPixmap(file)
                width=self.img.width()
                height=self.img.height()
                self.resize(width,height)
        elif event.key()==Qt.Key_2:
            file,_=QFileDialog.getOpenFileName(caption='选择素材',filter='( *.jpg *.png *.bmp *.gif)')             
            if file:
                self.material=QPixmap(file)
                self.setCursor(QCursor(self.material))
        elif event.key()==Qt.Key_3:
            if self.img:
                file,_=QFileDialog.getSaveFileName(caption='保存结果',filter='( *.jpg *.png *.bmp *.gif)')
                if file:
                    self.img.save(file)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Tray()
    sys.exit(app.exec_())

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页