You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows 10中通过编程实现图片全屏打开?

可行的编程方案

1. 用.NET WinForms/WPF 自定义图片查看器

自己写个极简的全屏查看器,完全控制显示效果,无第三方依赖:

  • WinForms 示例代码:
using System;
using System.Windows.Forms;
using System.Drawing;

namespace FullScreenImageViewer
{
    public class FullScreenViewer : Form
    {
        public FullScreenViewer(string imagePath)
        {
            // 去掉边框+最大化窗口
            FormBorderStyle = FormBorderStyle.None;
            WindowState = FormWindowState.Maximized;
            
            var pb = new PictureBox();
            pb.Dock = DockStyle.Fill;
            // 保持图片比例铺满屏幕,用StretchImage会强制拉伸变形
            pb.SizeMode = PictureBoxSizeMode.Zoom;
            pb.Image = Image.FromFile(imagePath);
            Controls.Add(pb);
            
            // 按ESC退出全屏
            KeyDown += (s, e) => { if (e.KeyCode == Keys.Escape) Close(); };
        }

        [STAThread]
        static void Main(string[] args)
        {
            if (args.Length > 0)
            {
                Application.Run(new FullScreenViewer(args[0]));
            }
        }
    }

编译后直接传入图片路径就能运行,效果和暂停的幻灯片完全一致。

  • WPF 思路类似:创建WindowStyle="None"+WindowState="Maximized"的窗口,用Image控件绑定图片源,设置Stretch="UniformToFill"实现铺满且保持比例。

2. Python 快速实现全屏查看

用Python的GUI库快速搭建,无需编译,适合快速测试:

  • Tkinter + PIL 示例:
import tkinter as tk
from PIL import Image, ImageTk

def show_fullscreen(image_path):
    root = tk.Tk()
    root.attributes('-fullscreen', True)
    root.bind('<Escape>', lambda _: root.destroy())
    
    # 加载并缩放图片到屏幕尺寸
    img = Image.open(image_path)
    screen_w, screen_h = root.winfo_screenwidth(), root.winfo_screenheight()
    img = img.resize((screen_w, screen_h), Image.Resampling.LANCZOS)
    tk_img = ImageTk.PhotoImage(img)
    
    label = tk.Label(root, image=tk_img)
    label.pack(fill=tk.BOTH, expand=True)
    root.mainloop()

if __name__ == '__main__':
    show_fullscreen("你的图片路径.jpg")
  • 用PyQt的话可实现更流畅的缩放,核心是调用QMainWindow.showFullScreen(),用QLabel.setScaledContents(True)让图片铺满控件。

3. PowerShell 脚本实现(无需编译)

直接用PowerShell写脚本,Windows自带环境即可运行:

Add-Type -AssemblyName System.Windows.Forms

# 创建全屏窗口
$form = New-Object System.Windows.Forms.Form
$form.FormBorderStyle = 'None'
$form.WindowState = 'Maximized'
$form.KeyPreview = $true
$form.Add_KeyDown({ if ($_.KeyCode -eq 'Escape') { $form.Close() } })

# 加载图片并铺满窗口
$pictureBox = New-Object System.Windows.Forms.PictureBox
$pictureBox.Dock = 'Fill'
$pictureBox.SizeMode = 'Zoom'
$pictureBox.Image = [System.Drawing.Image]::FromFile("C:\示例图片.jpg")

$form.Controls.Add($pictureBox)
$form.ShowDialog() | Out-Null

保存为.ps1文件,右键用PowerShell运行即可,按ESC退出。

4. C++ 调用Windows API(底层控制)

如果需要极致性能或集成到其他C++程序中,可以直接调用Windows API:

  • 核心流程:注册窗口类,创建无边框全屏窗口,用GDI+或WIC加载图片,在WM_PAINT消息中将图片绘制到整个客户区。这种方式最灵活,但代码量相对较大。

内容的提问来源于stack exchange,提问作者Hashim Aziz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 07:50:30