使用剪贴板里的图片

wils
wils

创作者俱乐部成员

有时通过截图,或者在图片编辑器里复制区域,得到的是剪贴板里的图片数据,但这些数据不能直接粘贴为文件夹里的图片文件,而在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论坛了解,希望出更多教程,十分感谢

海南省
浏览 177
收藏
9
分享
9 +1
6
+1
全部评论 6
 
WPS 冲浪队长
WPS 冲浪队长

社区管理员

已经在排期啦 敬请期待~
· 广东省
1
回复
 
Jesse
Jesse

创作者俱乐部成员

感觉还是不太方便,还是期待官方尽早加入这个功能
· 重庆
1
回复
WPS 冲浪队长
WPS 冲浪队长

社区管理员

已经在排期啦 敬请期待~
· 广东省
回复
 
马成功老师
马成功老师

创作者俱乐部成员

高大上 赞赞赞
· 北京
1
回复
 
LauShyO
感谢分享
· 山东省
1
回复
 
好运连连
11
· 山东省
1
回复