使用剪贴板里的图片
![wils](https://wps-home.wpscdn.cn/images/2024/01/01/9c566cb83f10f520ae29c344d3b1698a.png@base@tag=imgScale&w=38&h=38&m=1&c=1&q=75)
创作者俱乐部成员
有时通过截图,或者在图片编辑器里复制区域,得到的是剪贴板里的图片数据,但这些数据不能直接粘贴为文件夹里的图片文件,而在ppt里更改图片又只能指定文件路径,这就很不方便。
下面列出一些代码,可以把剪贴板里的图片转为具体的文件路径,方便使用:
图中的操作是这样的:
ppt中原来有一张图片
通过截图,剪贴板内存入了新图片的数据,但不能直接粘贴为图片文件
执行代码,意思是,通过mktemp获取临时文件夹里一个临时文件的名字,加上png后缀,传递给gm命令,将剪贴板内的图片,保存为具体的png图片,再把临时文件名存入剪贴板
👋 | echo -n $(mktemp -u).png | tee >(xargs gm convert clipboard:) | clip.exe |
所以,剪贴板里的图片数据,变成了具体的png图片文件的路径
现在就可以点击更改图片,粘贴文件路径,完成图片的更改
上面的代码需要busybox提供shell环境,需要graphicsmagick完成转换,有点不方便
不用安装这些,powershell环境也可以做到
💡 | #&cls&powershell -NoProfile -NoLogo "gc '%~0'|out-string|iex"&pause&exit Add-Type -AssemblyName System.Windows.Forms $f = [System.IO.Path]::GetTempFileName() Remove-Item $f $image = [System.Windows.Forms.Clipboard]::GetImage() $filePath = $f -replace 'tmp$', 'png' $image.Save($filePath, [System.Drawing.Imaging.ImageFormat]::Png) $filePath | Set-Clipboard |
这段代码可以存为bat执行,和上面一样,将剪贴板里的图片数据,变成具体的png图片路径
具体使用的时候,个人感觉可以用ahk将截图的逻辑和上述代码连起来
也就是说,截图或复制后,自动将剪贴板里的图片数据转为具体的图片路径,方便后面使用
而且类似的脚本方法很多,纯JS宏应该也可以通过ExecuteExcel4Macro调用gdiplus之类的dll做到同样的快捷操作
看到论坛里有朋友分享ExecuteExcel4Macro的用法,简直太强大了,这方面我也刚从EH论坛了解,希望出更多教程,十分感谢
社区管理员
创作者俱乐部成员
社区管理员
创作者俱乐部成员