我的目标是制作一个小巧的PC / Windows程序,使我可以从字面上画在屏幕顶部,并将结果另存为具有透明背景的png。像Epic Pen或gInk之类的软件一样,但是我的方式。全部使用Python 3.7和PyQt5。
到目前为止,由于我同时在学习PyQt,因此我设法获得了一个功能绘图应用程序(基本上遵循本教程)。我设法将草稿另存为具有透明背景的png。我可以使绘图板全屏且无边框。
现在的问题是,我找不到使整个背景透明的方法。尽管我找到了使用这些方法使窗口透明和无边界的方法:
Window = Window()
Window.setStyleSheet("background:transparent;")
Window.setAttribute(Qt.WA_TranslucentBackground)
Window.setWindowFlags(Qt.FramelessWindowHint)
Window.show()
Run Code Online (Sandbox Code Playgroud)
而且有效...直到我有了绘图区域。我可以在其上绘制,它将以透明背景保存,但显示为黑色。
因此,我正在寻找该解决方案。即使没有PyQt,只要我可以使程序正常运行,我也不在乎。
因此,这就是我所拥有的(我为您展示了带有框架的窗口,以便于解释):

这是我的代码:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMenuBar, QMenu, QAction, QShortcut, QFileDialog
from PyQt5.QtGui import QIcon, QImage, QPainter, QPen
from PyQt5.QtCore import Qt, QPoint
class Window(QMainWindow):
def __init__(self):
super().__init__()
top = 400
left = 400
width = 800
height = 600
icon = "icons/icon.png"
self.setWindowTitle("ScreenPen drawing board")
self.setGeometry(top, left, width, height)
self.setWindowIcon(QIcon(icon))
# ---------- sets …Run Code Online (Sandbox Code Playgroud) 我正在尝试让 python 与 VS code 一起工作并努力奋斗。
我之前安装了多个版本的 python,并将它们全部卸载并重新安装了最新版本的 anaconda。链接到下面问题的屏幕截图。多年来我才刚刚重新开始编码。这将是一件愚蠢的事情。

与这个主题非常相似:
\n\nFFmpeg:如何将带有黑边的垂直视频转换为背景边模糊的 16:9 视频
\n\n我正在尝试为自己制作一个bat文件,以自动化我的Instagram视频创作。
\n我的想法是制作可变分辨率和可变长宽比的视频。我不想花时间在每个视频上只是为了让它适合。
这就是我对该 bat 文件的目标:
\n\n到目前为止,我设法获得仅适用于垂直或水平视频的结果,但不能同时适用于两者。或者最终原始视频被裁剪,这是我不想要的:我按照我想要的方式构图我的主题,并且我不想预先考虑 FFmpeg 编码可以进行的额外裁剪来构图它们。
\n\n到目前为止,这是我的脚本:
\n\necho off\n:again\n\nffmpeg.exe -i "%~1" ^\n -c:v libx264 -crf 23 -filter_complex "[0:v]scale=600*2:600*2,boxblur=luma_radius=min(h\\,w)/20:luma_power=1:chroma_radius=min(cw\\,ch)/20:chroma_power=1[bg];[0:v]scale=600:-1[ov];[bg][ov]overlay=(W-w)/2:(H-h)/2,crop=w=600:h=600" -profile:v baseline -level 3.0 -pix_fmt yuv420p -preset faster -tune fastdecode ^\n -c:a aac -ac 2 -b:a 128k ^\n -movflags faststart ^\n "%~p1%~n1_Instagramized.mp4" -y\n\nif NOT ["%errorlevel%"]==["0"] pause\nshift\nif "%~1" == "" goto:eof\ngoto:again\nRun Code Online (Sandbox Code Playgroud)\n\n编辑:
\n\n感谢@Gyan 我得到了解决方案 …
python ×2
command-line ×1
ffmpeg ×1
pyqt5 ×1
python-3.x ×1
screenshot ×1
transparency ×1
video ×1