这是一个相当广泛的问题,所以我会尽力集中精力。
我目前拥有一台安装了 Ubuntu 并具有触摸屏功能的联想笔记本电脑,还有一支压敏蓝牙笔,并一直在尝试让两者一起工作,作为一款廉价的类似 Cintiq 的平板电脑。
不幸的是,这款笔仅支持 iOS 手机和平板电脑的特定应用程序。
因此,经过大量研究,我成功地与笔连接并uinput为其创建了一个设备,这样我就可以记录笔上的按钮点击和压力变化,甚至可以在通过“输入控制器”菜单配置设备时看到它们路由到 GIMP 。
到目前为止,我拥有的该接口的代码可以在这里找到。
当尝试用 GIMP 测试它时,麻烦就开始了。
据我所知,这是因为 GIMP 假设 Wacom 设备报告自己的位置,将触摸屏触摸视为鼠标移动,并且一次只允许来自单个设备的输入。
我的问题是,我该如何解决这个问题?
更具体地说,我如何创建一个uinput充当 Wacom 平板电脑并取代/阻止我描述的行为的设备?
或者是否有不同的解决方案,例如修补 GIMP 或为其编写插件。
上面提到的代码现在可以工作了。
我写了一篇关于让它发挥作用的过程的博客文章:http://gerev.github.io/laptop-cintiq
我使用 GIMP 创建了一个简单的正方形,其颜色为蓝色(#07192c)。我稍微降低了这个正方形的不透明度,并意识到我喜欢现在通过降低不透明度创建的蓝色阴影。
我的问题是,GIMP 是否有一个功能可以让您选择(如吸管)透明图层的颜色?我已经搜索过,但只能找到“color to alpha”,这不是我要找的。
在 Windows 环境中,我想调用 GIMP 来执行 python-fu 脚本(通过 BAT 文件),但是我使用的命令行调用没有产生预期的结果。
例如,考虑以下名为 的 python-fu 脚本makeafile_and_quit.py,它位于我的 GIMPplug-ins文件夹中。其目的是加载现有图像并以不同名称保存:
#!/usr/bin/env python
# Sample call from GIMP's python-fu console:
# pdb.python_fu_makeafile_and_quit_script()
from gimpfu import *
def makeafile_and_quit( ) :
FILEPATH = 'C:\\path\\to\\file.JPG'
IMAGE = pdb.gimp_file_load( FILEPATH, FILEPATH )
pdb.gimp_file_save( IMAGE, pdb.gimp_image_get_active_drawable( IMAGE ), FILEPATH + '_2.jpg', FILEPATH + '_2.jpg' )
pdb.gimp_quit(0)
return
# PLUGIN REGISTRATION
# This is the plugin registration function
register(
'makeafile_and_quit_script',
'v0.0',
'A new concept',
'Author',
'Author',
'Just now', …Run Code Online (Sandbox Code Playgroud) 当我调整图像的画布大小时,它将留下一个新的透明区域。我想用一种颜色填充该区域,但是Gimp 2.8不允许我选择它来填充它。我一定错过了一步。请帮忙。
我想调整目录中每个 jpg 的大小。
这是我找到的 gimp 脚本。对我来说看起来很明智。
(define (batch-resize pattern)
(let*
((filelist (cadr (file-glob pattern 1))))
(while (not (null? filelist))
(let* (
(filename (car filelist))
(image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(drawable (car (gimp-image-active-drawable image)))
(cur-width (car (gimp-image-width image)))
(cur-height (car (gimp-image-height image)))
(width (* 0.25 cur-width))
(height (* 0.25 cur-height))
)
(gimp-message filename)
(gimp-image-scale-full image width height INTERPOLATION-CUBIC)
(let
((nfilename (string-append "thumb_" filename)))
(gimp-file-save RUN-NONINTERACTIVE image drawable nfilename nfilename)
)
(gimp-image-delete image)
)
(set! filelist (cdr filelist))
)
)
) …Run Code Online (Sandbox Code Playgroud) 我最近从 2.8 更新到 2.10 GIMP,似乎导入自定义(相对)*.py 文件的插件都不再工作了。我剖析了代码,它不是“path_tools.py”文件的内容,它只是尝试导入自定义模块的行为(即使它是一个空文件,它仍然无法工作)。如果没有这行代码,它就可以在 GIMP 中正常显示:
from path_tools import *
Run Code Online (Sandbox Code Playgroud)
插件和path_tools.py都在同一个文件夹中
\AppData\Roaming\GIMP\2.10\plug-ins
我尝试通过添加句点来使用显式相对
from .path_tools import *
from ..path_tools import *
from ...path_tools import *
etc.
Run Code Online (Sandbox Code Playgroud)
我尝试通过在文件底部添加一个空的 GIMP 效果来将文件变成插件,看看 GIMP 是否只是以某种方式忽略了我的文件
def path_tools(img, drw):
return
register(
"python-fu-path-tools",
"Path Tools",
"",
[...]
Run Code Online (Sandbox Code Playgroud)
并通过在命令提示符中打开 GIMP
"c:\program files\gimp 2\bin\gimp-2.10" --verbose --console-messages
Run Code Online (Sandbox Code Playgroud)
它只是为每个无法加载的插件提供了一堆此类消息:
Querying plug-in: 'C:\Users\ \AppData\Roaming\GIMP\2.10\plug-ins\path_tools.py'
c:\program files\gimp 2\bin\gimp-2.10: LibGimpBase-WARNING: gimp-2.10: gimp_wire_read(): error
Run Code Online (Sandbox Code Playgroud)
但这些看起来像是警告,特别是因为另一个无法加载的插件存在实际错误,出于类似的原因我猜测:
GIMP-Error: Unable to run plug-in "export-ALL.py"
Run Code Online (Sandbox Code Playgroud)
与顶部的这些警告有关吗?
Parsing 'c:\program files\gimp 2\lib\gimp\2.0\interpreters\pygimp.interp'
GIMP-Warning: Bad interpreter referenced in interpreter …Run Code Online (Sandbox Code Playgroud) 抱歉,这可能是也可能不是直接的编程问题,但我正在尝试使用 Imagemagick 和 Gimp 调整屏幕截图的大小以包含在 Beamer 演示文稿中,但结果比LaTeX 所做的调整大小更模糊。
例如,在 Beamer 中我可能有一个重新缩放图像的命令\includegraphics[width=.5\textwidth]{fig.png}。使用类似的东西
\begin{frame}
\message{width = \the\textwidth}
\message{height = \the\textheight}
\end{frame}
Run Code Online (Sandbox Code Playgroud)
我已经得到了\textwidth和\textheight参数(345.69548,261.92444)。所以我有一个脚本(Python)向 Imagemagick 发送系统调用:
'convert %s -resize %.6f@ resized_%s' % (f,a,f)
Run Code Online (Sandbox Code Playgroud)
其中a计算为\textwidth*\textheight*0.5**2,f是文件名。然后,当我返回到 Beamer 演示文稿并包含调整大小的图形时,\includegraphics{resized_fig.png}尺寸看起来大致正确,但非常模糊。我也尝试在 Gimp 中调整大小(使用 GUI),但也没有运气......帮忙?谢谢...
我是 Python 新手,所以请耐心等待。
基本上我的脚本应该像这样运行:
1) 加载图像并将其拆分为 R、G、B 通道
2) 使用保存为 svg 文件的现有路径标记该图像的区域
3) 使用该区域的 R、G、B 值执行一些计算。
(进一步将图像发送到文件夹 A 或 B,具体取决于计算结果)
我已经完成了 1) 和 3) 的一部分,但我目前的问题是加载 svg 文件并将其应用于我的图像。
该图像是使用鱼眼镜头拍摄的照片。我只想获得实际照片的 RGB 值 - 而不是黑色背景。我通过使用 GIMP(不是圆形)绘制所需的路径来创建 svg 文件。
我的问题是:
如何使用 python 加载现有的 svg 文件(并将其作为路径读取)并将路径应用到图像上?
我确信有一种简单的方法可以做到这一点,但我还没有找到。
任何提示和建议将不胜感激!
编辑:
svg 文件:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
`"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg xmlns="http://www.w3.org/2000/svg"
width="22.2222in" height="16.6667in"
viewBox="0 0 1600 1200">
<path id="Auswahl"
fill="none" stroke="black" stroke-width="1"
d="M 848.00,103.21
C 848.00,103.21 861.00,103.96 861.00,103.96
891.77,105.30 921.91,109.93 952.00,116.58
988.30,124.59 …Run Code Online (Sandbox Code Playgroud) 我想编写一个 Gimp-Python 插件,以便从当前图像中导出所有 SVG 路径。这看起来很简单,但我坚持使用 pdb 调用,我可能没有正确调用过程,所以我需要你的帮助。
这是我的代码:
#!/usr/bin/env python
from gimpfu import *
def exportToSvg(img, layer) :
gimp.pdb.vectors_export_to_file(img,"C:/Users/Public/Documents/output.svg",0)
register(
"ExportToSvg",
"Export all SVG paths",
"Export all SVG paths from current image",
"My Name",
"My company",
"2015",
"<Image>/MyScripts/Export to svg",
"*",
[],
[],
exportToSvg)
main()
Run Code Online (Sandbox Code Playgroud)
打开 Gimp 并加载图像后,当我单击我的插件时,我收到此错误:
调用 « gimp-procedural-db-proc-info » 时出错:未找到过程«vectors-export-to-file »
当我在 Gimp PDB 中搜索时,我可以找到“gimp-vectors-export-to-file”,那么问题是什么?我应该如何调用这个程序?
gimp ×10
python ×4
gimpfu ×2
svg ×2
batch-file ×1
beamer ×1
canvas ×1
colors ×1
command-line ×1
fill ×1
graphics ×1
imagemagick ×1
latex ×1
linux ×1
path ×1
photo ×1
plugins ×1
python-fu ×1
resize ×1
script-fu ×1
transparency ×1
transparent ×1