【开发中】求贤令000:开发一个截图程序
求贤令000:开发一个截图程序请先阅读 -> 求贤令使用指南及奖励方案
本期主题:编写一个截图程序
获得奖励:C币 +300 + Extra(如果内容足够精彩,我们会给予额外的奖励)
编程语言:C/C++ 或 Python
开发要求:
[*]实现全屏截图功能
[*]实现指定尺寸截图功能
[*]实现滚动截图功能
[*]须有完整的注释说明及必要的功能讲解
竞标阶段:
在本帖中回复你的程序设计大纲或流程图,需注明所使用的编程语言,预期实现的功能,是否包含 UI 界面等。
越详细越好,我们将根据回复的内容筛选合适的开发者。
开发阶段:
恭喜 @Ewan-Ahiouy 和 @Mike_python小 两位英雄进入开发阶段。
请按照提供的程序设计大纲或流程图进行开发,
开发完成后请将程序发布在 Python交流版块 -> 作品展示分类(标题可自定)
随后回复本帖您的作品链接,我们将对您的代码进行基本的测试及反馈。
md版:
# 程序目标
开发要求:
- 实现全屏截图功能
- 实现指定尺寸截图功能
- 实现滚动截图功能
- 须有完整的注释说明及必要的功能讲解
开发语言:
Python
预期实现:
1. UI界面
2. 全屏截屏选项
3. 指定尺寸截屏选项
4. 自定义截屏选项
5. 长截图选项
6. 实时显示截屏分辨率功能
7. 保存功能 ~~(废话)~~
8. 帮助
完
图片好像看不见,我传附件把 import tkinter as tk
from tkinter import messagebox
from PIL import ImageGrab
class ScreenshotApp:
def __init__(self, root):
self.root = root
self.root.title("截图程序")
self.root.geometry("300x200")
self.create_widgets()
def create_widgets(self):
tk.Label(self.root, text="截图程序", font=("Helvetica", 16)).pack(pady=10)
tk.Button(self.root, text="全屏截图", command=self.fullscreen_screenshot).pack(pady=5)
tk.Label(self.root, text="指定尺寸截图", font=("Helvetica", 12)).pack()
self.x_entry = tk.Entry(self.root)
self.x_entry.pack(pady=5)
self.y_entry = tk.Entry(self.root)
self.y_entry.pack(pady=5)
self.width_entry = tk.Entry(self.root)
self.width_entry.pack(pady=5)
self.height_entry = tk.Entry(self.root)
self.height_entry.pack(pady=5)
tk.Button(self.root, text="截图", command=self.custom_screenshot).pack(pady=5)
tk.Label(self.root, text="滚动截图", font=("Helvetica", 12)).pack()
self.scroll_x_entry = tk.Entry(self.root)
self.scroll_x_entry.pack(pady=5)
self.scroll_y_entry = tk.Entry(self.root)
self.scroll_y_entry.pack(pady=5)
self.scroll_distance_entry = tk.Entry(self.root)
self.scroll_distance_entry.pack(pady=5)
tk.Button(self.root, text="滚动截图", command=self.scroll_screenshot).pack(pady=5)
def fullscreen_screenshot(self):
screenshot = ImageGrab.grab()
screenshot.save("fullscreen_screenshot.png")
messagebox.showinfo("提示", "全屏截图已保存为fullscreen_screenshot.png")
def custom_screenshot(self):
try:
x = int(self.x_entry.get())
y = int(self.y_entry.get())
width = int(self.width_entry.get())
height = int(self.height_entry.get())
screenshot = ImageGrab.grab(bbox=(x, y, x + width, y + height))
screenshot.save("custom_screenshot.png")
messagebox.showinfo("提示", "指定尺寸截图已保存为custom_screenshot.png")
except ValueError:
messagebox.showerror("错误", "请输入有效的整数")
def scroll_screenshot(self):
try:
x = int(self.scroll_x_entry.get())
y = int(self.scroll_y_entry.get())
distance = int(self.scroll_distance_entry.get())
# Perform multiple screenshots and combine them vertically
screenshots = []
current_y = y
while current_y < y + distance:
screenshot = ImageGrab.grab(bbox=(x, current_y, x + 800, current_y + 600))
screenshots.append(screenshot)
current_y += 600
final_screenshot = Image.new("RGB", (800, distance))
y_offset = 0
for screenshot in screenshots:
final_screenshot.paste(screenshot, (0, y_offset))
y_offset += screenshot.height
final_screenshot.save("scroll_screenshot.png")
messagebox.showinfo("提示", "滚动截图已保存为scroll_screenshot.png")
except ValueError:
messagebox.showerror("错误", "请输入有效的整数")
if __name__ == "__main__":
root = tk.Tk()
app = ScreenshotApp(root)
root.mainloop()
我编写的是一个比较简单的Tkinter,根据要求
可以选择全屏截图、指定尺寸截图和滚动截图
但是需要手动输入参数,得先手动输入一下截屏参数,然后程序会调用ImageGrab根据你输入的参数截屏
然后文件保存
甲鱼哥给过不?我能力是真的有限,我真比不了这里的任何人,要我编写,就只能这个
高阶的图形化程序,啥按钮,啥指定地点保存,咱是真做不到,我就是一个混娱乐圈的(吹水格),没啥本事,ε=(´ο`*)))唉
我要接!!!
设计思路:
实现GUI窗口:tkinter和ttkbootstrap
利用pyautogui的screenshot函数实现全屏和指定尺寸截屏,加上PIL实现滚动截屏
望通过!!!{:10_254:}
@不二如是 算法题才是我们的主场{:10_256:}
不会 Python 第三方库{:10_266:} 补充一下,程序会在windows右下角保留,右键可以打开设置
在编辑图片选项还可以实现提取文字https://fishc.com.cn/thread-222254-1-1.html这个就是我写的转文字文章 中标了!{:10_257:} Ewan-Ahiouy 发表于 2023-8-7 06:36
中标了!
{:10_257:} Mike_python小 发表于 2023-8-7 09:56
你可以领取乐于助人勋章里{:5_109:} Ewan-Ahiouy 发表于 2023-8-7 06:59
你可以领取乐于助人勋章里
!!! Mike_python小 发表于 2023-8-7 09:56
恭喜中标! liuhongrun2022 发表于 2023-8-7 07:25
恭喜中标!
{:10_254:} 编程追风梦 发表于 2023-8-3 19:16
我编写的是一个比较简单的Tkinter,根据要求
可以选择全屏截图、指定尺寸截图和滚动截图
但是需要手动输 ...
GPT的能不要在这里么。小甲鱼在这求贤,人家不会用GPT啊
不同意楼主的看法,如果不是GPT,我真不相信你有这个水平 高山 发表于 2023-8-9 07:07
GPT的能不要在这里么。小甲鱼在这求贤,人家不会用GPT啊
不同意楼主的看法,如果不是GPT,我真不相信你 ...
我天,这伤害性不大,侮辱性极强,我不是啥都不会好吧,虽然框架是询问了GPT的,但是好歹代码不是(我希望不要有人跟我抬杠说什么小甲鱼要求的是框架,我抄袭框架编代码有屁用) 编程追风梦 发表于 2023-8-9 07:37
我天,这伤害性不大,侮辱性极强,我不是啥都不会好吧,虽然框架是询问了GPT的,但是好歹代码不是(我希 ...
不是我真不相信这是你写的
首先变量名,格式,注释都是专业的,第二我知道你也会转载,你看你的帖子大多数都是转载的
要么转载,要么GPT,或者是从哪里手把手教的
你知道小甲鱼已经进入开发阶段,不求贤了,你自己肯定不会白做的 高山 发表于 2023-8-9 09:24
不是我真不相信这是你写的
首先变量名,格式,注释都是专业的,第二我知道你也会转载,你看你的帖子大多 ...
所以我说框架,但是代码,细致的开发是我做的(我之所以转载,是因为..........我懒........懒得写,就比如游记,我宁愿让GPT写,但我现在在写了) 编程追风梦 发表于 2023-8-9 11:13
所以我说框架,但是代码,细致的开发是我做的(我之所以转载,是因为..........我懒........懒得写,就比 ...
可以借用 GPT,但给出的提纲和作品需要让人眼前一亮。
借助现代工具并没有问题,关键在于如何引导它帮助你开发出优秀的程序!
下次要加油哦,发挥想象力~
{:10_298:}
小甲鱼 发表于 2023-8-10 01:57
可以借用 GPT,但给出的提纲和作品需要让人眼前一亮。
借助现代工具并没有问题,关键在于如何引导它 ...
甲鱼哥什么时候出新视频?我在国外,看不到国内的更新,只能等待YouTub的山寨版(这都算敏感词?)小甲鱼更新{:10_266:}
页:
[1]
2