标签: gimp

创建一个类似 Wacom 的 Linux uinput 设备,用于触摸屏和笔

这是一个相当广泛的问题,所以我会尽力集中精力。

我目前拥有一台安装了 Ubuntu 并具有触摸屏功能的联想笔记本电脑,还有一支压敏蓝牙笔,并一直在尝试让两者一起工作,作为一款廉价的类似 Cintiq 的平板电脑。

不幸的是,这款笔仅支持 iOS 手机和平板电脑的特定应用程序。
因此,经过大量研究,我成功地与笔连接并uinput为其创建了一个设备,这样我就可以记录笔上的按钮点击和压力变化,甚至可以在通过“输入控制器”菜单配置设备时看到它们路由到 GIMP 。

到目前为止,我拥有的该接口的代码可以在这里找到

当尝试用 GIMP 测试它时,麻烦就开始了。
据我所知,这是因为 GIMP 假设 Wacom 设备报告自己的位置,将触摸屏触摸视为鼠标移动,并且一次只允许来自单个设备的输入。

我的问题是,我该如何解决这个问题?

更具体地说,我如何创建一个uinput充当 Wacom 平板电脑并取代/阻止我描述的行为的设备?
或者是否有不同的解决方案,例如修补 GIMP 或为其编写插件。

更新 (2014-06-07)

上面提到的代码现在可以工作了。

我写了一篇关于让它发挥作用的过程的博客文章:http://gerev.github.io/laptop-cintiq

linux input-devices gimp

6
推荐指数
1
解决办法
3058
查看次数

如何计算GIMP的平均颜色?

如何计算GIMP的平均颜色?

我有一些照片,想要计算平均颜色 - 我该怎么做?

graphics photo gimp

6
推荐指数
1
解决办法
4543
查看次数

GIMP - Alpha 到颜色

我使用 GIMP 创建了一个简单的正方形,其颜色为蓝色(#07192c)。我稍微降低了这个正方形的不透明度,并意识到我喜欢现在通过降低不透明度创建的蓝色阴影。

我的问题是,GIMP 是否有一个功能可以让您选择(如吸管)透明图层的颜色?我已经搜索过,但只能找到“color to alpha”,这不是我要找的。

transparency colors gimp

6
推荐指数
1
解决办法
8963
查看次数

Windows 上的 GIMP - 从命令行执行 python-fu 脚本

在 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)

python command-line batch-file gimp python-fu

6
推荐指数
1
解决办法
3333
查看次数

如何填充Gimp 2.8中调整大小后留下的透明区域

当我调整图像的画布大小时,它将留下一个新的透明区域。我想用一种颜色填充该区域,但是Gimp 2.8不允许我选择它来填充它。我一定错过了一步。请帮忙。

resize canvas transparent gimp fill

6
推荐指数
2
解决办法
2084
查看次数

使用 gimp 批量调整图像大小

我想调整目录中每个 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)

gimp script-fu gimpfu

6
推荐指数
1
解决办法
7518
查看次数

GIMP 2.10 Python - 如何导入自定义模块?

我最近从 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)

python plugins gimp

6
推荐指数
1
解决办法
1875
查看次数

调整屏幕截图/屏幕截图的大小以包含在 Beamer 中

抱歉,这可能是也可能不是直接的编程问题,但我正在尝试使用 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**2f是文件名。然后,当我返回到 Beamer 演示文稿并包含调整大小的图形时,\includegraphics{resized_fig.png}尺寸看起来大致正确,但非常模糊。我也尝试在 Gimp 中调整大小(使用 GUI),但也没有运气......帮忙?谢谢...

latex imagemagick image-processing beamer gimp

5
推荐指数
1
解决办法
2890
查看次数

使用 Python/PIL 读取 SVG 文件

我是 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)

python svg path gimp python-imaging-library

5
推荐指数
1
解决办法
1万
查看次数

使用 Gimp Python 插件导出所有 SVG 路径

我想编写一个 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”,那么问题是什么?我应该如何调用这个程序?

python svg gimp gimpfu

5
推荐指数
1
解决办法
2299
查看次数