xiěbrúce / php-get-image-from-clipboard
获取复制到剪贴板上的图像(通常是截图)并将其转换为jpg/png图像文件。支持macOS/Windows/Linux(仅在Ubuntu 18.04.2 LTS上进行了测试)。
Requires
- php: >=7.0
This package is auto-updated.
Last update: 2024-09-16 17:11:47 UTC
README
PHP-GetImgFromClipboard是一个工具,允许您获取剪贴板上的图像(通常是截图或从网页复制)并将其保存为jpg或png等图像文件。
安装
composer require xiebruce/php-get-image-from-clipboard
要求
实际上,PHP不能直接获取剪贴板上的图像,因此该工具依赖于其他工具。
对于macOS
对于macOS,它依赖于pngpaste,因此您需要首先安装pngpaste。
brew install pngpaste
对于Windows 10
对于Windows 10,可以免费使用,无需安装任何内容。
对于Windows 7
对于Windows 7,您需要更新PowerShell。从以下链接下载PowerShell更新包“Win7AndW2K8R2-KB3191566-x64.zip”: https://www.microsoft.com/en-us/download/details.aspx?id=54616,然后更新并重新启动。
在更新之前,您可以检查PowerShell版本。点击右下角的“开始”菜单,输入“powershell”进行搜索,然后powershell将显示如下:
点击打开它并输入以下命令
$PSVersionTable
现在您可以看到,在更新之前,PowerShell版本是2.0:
对于Linux桌面
对于Linux桌面系统(例如Ubuntu、Manjaro、CentOS等),您需要安装xclip
。
在Ubuntu上
apt install xclip
我没有测试其他Linux发行版,但只要您安装了xclip
,它应该可以正常工作。
使用方法
<?php require 'vendor/autoload.php'; use GetImgFromClipboard\GetImgFromClipboard; $obj = new GetImgFromClipboard(); switch (PHP_OS){ case 'Darwin': // For macOS, save screenshot to Desktop # /Users/youusername/Desktop/ScreenShot.jpg # /Users/youusername/Desktop/ScreenShot.jpg $savedImgPath = '/Users/bruce/Desktop/ScreenShot.jpg'; break; case 'WINNT': // For Windows, save screenshot to Desktop # C:\Users\youusername\Desktop\ScreenShot.jpg # C:\Users\youusername\Desktop\ScreenShot.png $savedImgPath = 'C:\Users\youusername\Desktop\ScreenShot.png'; case 'Linux': // For Linux, save screenshot to Desktop # /home/yourusername/Desktop/ScreenShot.jpg # /home/yourusername/Desktop/ScreenShot.png $savedImgPath = '/home/yourusername/Desktop/ScreenShot.jpg'; } $savedImgPath = $obj->save($savedImgPath); echo $savedImgPath . "\n";
致谢
感谢octan3的img-clipboard-dump,我在我的项目中使用了它来获取Windows上的剪贴板图像。