当前位置: 首页 > news >正文

手机小说网站建设网站如何做流媒体

手机小说网站建设,网站如何做流媒体,爱客crm软件下载,山东省城乡建设部网站python之pyqt5-第一个pyqt5程序-图像压缩工具(2.0版本)-小记 此篇为上一篇pyqt5图像压缩小工具改良版。因为比较简单#xff0c;下面直接贴上代码。 效果图#xff1a; # -*- coding: utf-8 -*-# Form implementation generated from reading ui file hellopyqt5.ui # # Crea… python之pyqt5-第一个pyqt5程序-图像压缩工具(2.0版本)-小记 此篇为上一篇pyqt5图像压缩小工具改良版。因为比较简单下面直接贴上代码。 效果图   # -*- coding: utf-8 -*-# Form implementation generated from reading ui file hellopyqt5.ui # # Created by: PyQt5 UI code generator 5.11.3 # # WARNING! All changes made in this file will be lost! import os import sys import zlib #import resource 图标资源可不要 from os import path from PIL import Image from glob import glob from PyQt5.QtGui import QIcon from PyQt5.QtGui import QFont from PyQt5.QtWidgets import QFileDialog from PyQt5.QtWidgets import QMessageBox from PyQt5.QtWidgets import QMainWindow from PyQt5.QtWidgets import QFrame from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Form(QMainWindow):def __init__(self):super(QtWidgets.QMainWindow,self).__init__()self.setupUi(self)self.retranslateUi(self)def setupUi(self, Form):Form.setObjectName(Form)Form.resize(368, 290)Form.setFixedSize(368, 260)Form.setWindowTitle(图像压缩工具)#图标#Form.setWindowIcon(QIcon(:/1.png))self.tabWidget QtWidgets.QTabWidget(Form)self.tabWidget.setGeometry(QtCore.QRect(10, 10, 351, 271))self.tabWidget.setObjectName(tabWidget)self.tab QtWidgets.QWidget()#指定显示特定tab #self.tab.setCurrentIndex(0)self.tab.setObjectName(tab)self.pushButton_4 QtWidgets.QPushButton(self.tab)self.pushButton_4.setGeometry(QtCore.QRect(100, 120, 141, 41))self.pushButton_4.setObjectName(pushButton_4)#无损选择文件夹self.pushButton_4.clicked.connect(self.opendicno)self.pushButton_3 QtWidgets.QPushButton(self.tab)self.pushButton_3.setGeometry(QtCore.QRect(120, 70, 101, 41))self.pushButton_3.setObjectName(pushButton_3)#无损选择文件self.pushButton_3.clicked.connect(self.openpicno)self.label QtWidgets.QLabel(self.tab)self.label.setGeometry(QtCore.QRect(20, 10, 281, 51))self.label.setTextFormat(QtCore.Qt.AutoText)self.label.setWordWrap(True)self.label.setObjectName(label)self.tabWidget.addTab(self.tab, )self.tab_2 QtWidgets.QWidget()self.tab_2.setObjectName(tab_2)self.pushButton QtWidgets.QPushButton(self.tab_2)self.pushButton.setGeometry(QtCore.QRect(120, 70, 101, 41))self.pushButton.setCheckable(False)self.pushButton.setObjectName(pushButton)#有损压缩打开文件self.pushButton.clicked.connect(self.openfile)self.pushButton_2 QtWidgets.QPushButton(self.tab_2)self.pushButton_2.setGeometry(QtCore.QRect(100, 120, 141, 41))self.pushButton_2.setCheckable(False)self.pushButton_2.setObjectName(pushButton_2)#有损压缩打开文件夹self.pushButton_2.clicked.connect(self.opendic)#frame和radiobuttonself.frame QtWidgets.QFrame(self.tab_2)self.frame.setGeometry(QtCore.QRect(0, 160, 341, 71))self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)self.frame.setFrameShadow(QtWidgets.QFrame.Raised)self.frame.setObjectName(frame) self.frame.setStyleSheet(background-color:#FAEBD7;)self.frame.setFrameShape(QFrame.Box)self.frame.setLineWidth(2)self.radioButton QtWidgets.QRadioButton(self.frame)self.radioButton.setGeometry(QtCore.QRect(20, 40, 51, 16))self.radioButton.setObjectName(radioButton)self.radioButton_2 QtWidgets.QRadioButton(self.frame)self.radioButton_2.setGeometry(QtCore.QRect(100, 40, 51, 16))self.radioButton_2.setObjectName(radioButton_2)self.radioButton_3 QtWidgets.QRadioButton(self.frame)self.radioButton_3.setGeometry(QtCore.QRect(190, 40, 51, 16))self.radioButton_3.setObjectName(radioButton_3)self.radioButton_4 QtWidgets.QRadioButton(self.frame)self.radioButton_4.setGeometry(QtCore.QRect(280, 40, 51, 16))self.radioButton_4.setObjectName(radioButton_4)#toggled信号与槽函数绑定self.radioButton.toggled.connect(lambda :self.btnstate(self.radioButton))self.radioButton_2.toggled.connect(lambda :self.btnstate(self.radioButton_2))self.radioButton_3.toggled.connect(lambda :self.btnstate(self.radioButton_3))self.radioButton_4.toggled.connect(lambda :self.btnstate(self.radioButton_4))#2个labelself.label_3 QtWidgets.QLabel(self.frame)self.label_3.setGeometry(QtCore.QRect(10, 10, 81, 21))self.label_3.setObjectName(label_3)self.tabWidget.addTab(self.tab_2, )self.label_2 QtWidgets.QLabel(self.tab_2)self.label_2.setGeometry(QtCore.QRect(20, 10, 281, 51))self.label_2.setTextFormat(QtCore.Qt.AutoText)self.label_2.setWordWrap(True)self.label_2.setObjectName(label_2)self.tabWidget.addTab(self.tab_2, )self.tabWidget.setCurrentIndex(0)self.retranslateUi(Form)#原来你在这里#self.tabWidget.setCurrentIndex(1)QtCore.QMetaObject.connectSlotsByName(Form)bsfloat(0.8)def btnstate(self,btn):global bsif btn.text()0.8X:if btn.isChecked()True:bsfloat(0.8)print(bs)else:print(0.8没有被选中)if btn.text()0.6X:if btn.isChecked()True:#global bsbsfloat(0.6)print(bs)else:print(0.6没有被选中)if btn.text()0.4X:if btn.isChecked()True:#global bsbsfloat(0.4)print(bs)else:print(0.4没有被选中)if btn.text()0.2X:if btn.isChecked()True:#global bsbsfloat(0.2)print(bs)else:print(0.2没有被选中)def openfile(self):try:if self.radioButton.isChecked()True or self.radioButton_2.isChecked()True or self.radioButton_3.isChecked()True or self.radioButton_4.isChecked()True:filename ,filetype QFileDialog.getOpenFileName(self,选择文件,./,All Files (*);;Image Files (*.jpg))if filename ! :pathfilename.replace(r/,r\\)try:img Image.open(path) # 打开图片文件if img.width5:#等比例缩小widthimg.widthheightimg.heightsize(width*bs,height*bs)img.thumbnail(size, Image.ANTIALIAS) # 使用抗锯齿模式生成缩略图压缩图片fos.path.splitext(path)newnamef[0] -已压缩newnamenewnamef[1]img.save(newname, JPEG) # 保存成与原文件名一致的文件会自动覆盖源文件else:print(file 宽度小已忽略)except Exception as e:print(e)QMessageBox.information(self,恭喜成功了, 已成功压缩图片到原有目录,QMessageBox.Yes)#QMessageBox.Yes | QMessageBox.Noelse:QMessageBox.warning(self,选择压缩比例, 请先选择压缩比例。,QMessageBox.Yes)except Exception as e:print(e)def opendic(self):try:if self.radioButton.isChecked()True or self.radioButton_2.isChecked()True or self.radioButton_3.isChecked()True or self.radioButton_4.isChecked()True:dic QFileDialog.getExistingDirectory(self,选择文件夹, ./)if dic ! :pathdic.replace(r/,r\\)# glob.glob()用来进行模糊查询增加参数recursiveTrue后可以使用**/来匹配所有子目录files glob( path **/*.JPG, recursiveTrue) glob(path **/*.jpg, recursiveTrue)total len(files) #总文件数cur 1 #当前文件序号for infile in files:try:print(进度: str(cur) / str(total) infile)img Image.open(infile) # 打开图片文件if img.width5:widthimg.widthheightimg.heightsize(width*bs,height*bs)img.thumbnail(size, Image.ANTIALIAS) # 使用抗锯齿模式生成缩略图压缩图片fos.path.splitext(infile)newnamef[0] -已压缩newnamenewnamef[1]img.save(newname, JPEG) # infile保存成与原文件名一致的文件会自动覆盖源文件else:print(infile 宽度小无需处理已忽略)cur cur 1except Exception as e:print(e)QMessageBox.information(self,恭喜成功了, 已成功压缩图片到原有目录,QMessageBox.Yes)else:QMessageBox.warning(self,选择压缩比例, 请先选择压缩比例。,QMessageBox.Yes)except Exception as e:print(e)def openpicno(self):filename ,filetype QFileDialog.getOpenFileName(self,选择文件,./,All Files (*);;Image Files (*.jpg))if filename ! :try:pathfilename.replace(r/,r\\)im Image.open(path) # 打开图片imBytes im.tobytes() # 把图片转换成bytes流imBytes zlib.compress(imBytes, 9) # 对图像字节串进行压缩,第二个参数是压缩率有-10-9按个人情况进行设置我都试过了感觉没多大变化所以随便设置了5im2 Image.frombytes(RGB, im.size, zlib.decompress(imBytes)) # 压缩成新的图片fos.path.splitext(path)newnamef[0] -已压缩newnamenewnamef[1]im2.save(newname) # 保存成与原文件名一致的文件会自动覆盖源文件QMessageBox.information(self,恭喜成功了, 已成功压缩图片到原有目录,QMessageBox.Yes)except Exception as e:print(e)def opendicno(self):dic QFileDialog.getExistingDirectory(self,选择文件夹, ./)pathdic.replace(r/,r\\)if dic ! :pathdic.replace(r/,r\\)# glob.glob()用来进行模糊查询增加参数recursiveTrue后可以使用**/来匹配所有子目录files glob( path **/*.JPG, recursiveTrue) glob(path **/*.jpg, recursiveTrue)total len(files) #总文件数print(total)cur 1 #当前文件序号for infile in files:try:im Image.open(infile) # 打开if im.width5:imBytes im.tobytes()imBytes zlib.compress(imBytes, 9)im2 Image.frombytes(RGB, im.size, zlib.decompress(imBytes)) # 压缩成新图片#改名------------------------fos.path.splitext(infile)newnamef[0] -已压缩newnamenewnamef[1]#改名------------------------im2.save(newname, JPEG) # 保存成与原文件名一致的文件会自动覆盖源文件else:print(infile 宽度小于1200px无需处理已忽略)cur cur 1except Exception as e:print(e)QMessageBox.information(self,恭喜成功了, 已成功压缩图片到原有目录,QMessageBox.Yes)def retranslateUi(self, Form):_translate QtCore.QCoreApplication.translateForm.setWindowTitle(_translate(Form, 图像压缩工具))self.pushButton_4.setText(_translate(Form, 选择文件夹))self.pushButton_3.setText(_translate(Form, 选择文件))self.label.setText(_translate(Form, 注无损压缩不改变图像分辨率仅改变DPI适合10M以上超大图片压缩如需要进一步压缩可再进行有损压缩。))self.label_2.setText(_translate(Form, 注通过缩小图像分辨率压缩图片。请先选择合适的缩小比例。))self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate(Form, 无损压缩))self.pushButton.setText(_translate(Form, 选择文件))self.pushButton_2.setText(_translate(Form, 选择文件夹))self.radioButton.setText(_translate(Form, 0.8X))self.radioButton_2.setText(_translate(Form, 0.6X))self.radioButton_3.setText(_translate(Form, 0.4X))self.radioButton_4.setText(_translate(Form, 0.2X))self.label_3.setText(_translate(Form, 选择压缩比例))self.label_3.setToolTip(_translate(Form, htmlhead/bodyp手动指定压缩分辨率/p/body/html))self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate(Form, 有损压缩)) #self.tabWidget.setCurrentIndex(self.tabWidget.indexOf(self.tab))if __name__ __main__: app QtWidgets.QApplication(sys.argv)Form QtWidgets.QMainWindow()ui Ui_Form()ui.setupUi(Form)Form.show()sys.exit(app.exec_())   posted on 2019-07-18 18:03 蓝皮阿五 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/lanpiawu/p/11209044.html
http://www.zqtcl.cn/news/906287/

相关文章:

  • 谷歌在线浏览器入口seo内容优化是什么意思
  • 新闻门户网站免费建设西安做企业网站哪家做的好
  • 湘潭网站建设 w磐石网络安徽省工程建设信息网官方网站
  • 移动端网站开发教程局网站建设工作征求意见
  • 浙江网站建设公司地址南京做电商网站的公司
  • 网上销售型的企业网站建行个人手机银行
  • 网站建设与规划方案书网站建设策划有哪些
  • 手机网站建设推广方案ppt模板单页企业官网模板
  • 荥阳网站建设多少钱长沙企业关键词优化哪家好
  • 网站购物流程模块怎么实现最新足球赛事
  • 网站建设后需要维护吗网站规划的案例
  • 北京造价员变更在哪个网站做免费域名申请入口
  • 百度免费收录提交入口seo wordpress theme
  • 公司付网站会员费科目怎么做wordpress 多站点 主题
  • 做深度的互联网站网站突然没收录了
  • 网站建设进度表下载周到的商城网站建设
  • 建设一个连接的网站服装企业网站源码
  • 什么网站源码做分类信息网站好域名备案企业网站内容
  • wordpress 文章显示数量淘宝seo优化怎么做
  • 响应式网站模块商务网站创建流程是什么
  • 关于服饰搭配做的比较好的网站网站后台管理默认密码
  • 用自己电脑配置服务器做网站响应式框架
  • 任经理++徐州网站建设湖南正规关键词优化
  • 哪些软件可以做网站设计农村网站建设茂名
  • 平顶山网站建设费用腾讯云轻量应用服务器
  • 外贸优秀网站廊坊seo建站
  • 站长工具seo综合查询5g网站建设整改落实情况
  • 网站建设方案 流程wordpress客户案例
  • 网站被收录的过程如何创造属于自己的软件
  • 做神马网站优化快速排国外乡村建设网站