xiěbrúce/php-get-image-from-clipboard

获取复制到剪贴板上的图像(通常是截图)并将其转换为jpg/png图像文件。支持macOS/Windows/Linux(仅在Ubuntu 18.04.2 LTS上进行了测试)。

v0.1 2019-09-16 05:32 UTC

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将显示如下:Xnip2019-09-05_14-43-33

点击打开它并输入以下命令

$PSVersionTable

现在您可以看到,在更新之前,PowerShell版本是2.0:Check Powershell version before update

更新后,PowerShell版本是5.0:Check Powershell version after update

对于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";

致谢

感谢octan3img-clipboard-dump,我在我的项目中使用了它来获取Windows上的剪贴板图像。