|  | 
 
 发表于 2023-8-3 19:16:47
|
显示全部楼层 
| 我编写的是一个比较简单的Tkinter,根据要求复制代码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()
可以选择全屏截图、指定尺寸截图和滚动截图
 但是需要手动输入参数,得先手动输入一下截屏参数,然后程序会调用ImageGrab根据你输入的参数截屏
 然后文件保存
 
 
 甲鱼哥给过不?我能力是真的有限,我真比不了这里的任何人,要我编写,就只能这个
 高阶的图形化程序,啥按钮,啥指定地点保存,咱是真做不到,我就是一个混娱乐圈的(吹水格),没啥本事,ε=(´ο`*)))唉
 
 | 
 |