- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在用自定义 gimpfu 插件以编程方式尝试 GIMP(v2.8.10) 层的操作。我成功地实现了对现有图层的一部分进行选择、旋转、缩放和动态平移:
为了相关性进行了简化。所有这些说明都有效。
# I only use one layer in the probe image
layer = img.layers[0]
selection = pdb.gimp_rect_select(img, init_coords[0], init_coords[1],
my_width,my_height,2,0,0)
# Copy and paste selection
pdb.gimp_edit_copy(layer)
float_layer = pdb.gimp_edit_paste(layer, 1)
# Transform floating selection step by step
float_layer = pdb.gimp_item_transform_rotate_simple(float_layer,
ROTATE_90, 1, 0, 0)
float_layer = pdb.gimp_layer_scale(float_layer, new_width,new_height, 1)
float_layer = pdb.gimp_layer_translate(float_layer, h_offset, 0)
gimp_layer_translate
),其他一切都会正常。gimp_layer_scale
的行,其他一切都会正常。gimp_layer_translate
会崩溃,并出现 RuntimeError
The procedure gimp-layer-translate has been called with incorrect ID for «layer» arg. Probably is trying to operate with an unexisting layer.
我不知道为什么会这样失败。 如果他们单独工作,为什么不一起工作?我想知道。
我习惯从 gimpbook.com 中的 template.py
开始作为构建插件的起点,因为它似乎有一个坚固的结构将代码封装到“撤消 block ”中。我有关 pdb
的主要信息来源是 this website我在谷歌上找到的。另外,我在this question上找到了一些我需要的程序。 .
另外,我的一个previous questions可能有助于作为如何开始为 gimp 制作自定义插件的引用。
我不确定原因是 gimp 的错误还是我的代码执行错误。由于一些代码发布在linked question的答案上,我想知道我是否过度使用了可用内存(毕竟,我不知道我必须使用特定的过程调用来销毁对象,直到我找到答案)。 如果我不删除它们会发生什么?我想知道。 它们会一直保留在 RAM 中直到我关闭 GIMP,还是会生成会淹没 GIMP 系统的持久文件?老实说,我不知道忽略此问题的后果。
最佳答案
使用图层时删除分配。以下是销毁 float_layer 变量的方法:
# This creates a new layer that you assign to the float_layer
float_layer = pdb.gimp_item_transform_rotate_simple(float_layer,
ROTATE_90, 1, 0, 0)
# This does not return anything at all, it works with the layer in-place.
# But you overwrite the float_layer variable anyway, destroying it.
float_layer = pdb.gimp_layer_scale(float_layer, new_width,new_height, 1)
# This does not work because float_layer is no longer referencing the layer at all
float_layer = pdb.gimp_layer_translate(float_layer, h_offset, 0)
所以这样做:
float_layer = pdb.gimp_item_transform_rotate_simple(float_layer,
ROTATE_90, 1, 0, 0)
pdb.gimp_layer_scale(float_layer, new_width,new_height, 1)
pdb.gimp_layer_translate(float_layer, h_offset, 0)
关于python - Gimpfu 脚本 : Why does layer's ID get corrupted?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34779837/
void *insert_rear_node(void *arg) { int *argument=(int *)arg; int value=*argument; //Assume
嘿,我的代码在执行后说“帐户”已损坏... 这是什么意思,我该如何解决? #include #include using namespace std; class BankAccount { pr
我正在使用 PHP 创建一个应用程序并涉及 MySQL。如果在请求过程中发生错误,我将如何“将查询分组在一起”,检查它是否会成功,然后对真实表进行实际影响。如果对表的实际更新失败,则恢复到更新之前的状
我正在尝试在 CentOs6 上使用 EasyBuild 编译 tensorflow,但 Bazel 捕获了错误的 binutils 目录,不幸的是,这是一个硬编码目录,以错误的汇编器结尾。 如果我尝
我正在尝试在 OS X Mavericks 上创建一个 AppleScript 库。我已将文件保存到 ~/Library/Script Libraries作为脚本包;它有一个正确的(据我所知;见下文)
我在 Eclipse Indigo 中开发 Android 项目已经有一年了,该 PC 已关闭更新且未安装任何新软件(故意避免 java 运行时或其他已安装软件出现任何不稳定)。 今天早上 Eclip
我正在开发一个简单的 React.JS 前端部分。 我本质上有一个用于历史数据的浏览 SPA。该设计有一堆过滤器,我需要一次填充一个过滤器,从逻辑层次结构中的顶部过滤器开始。 我做了类似的事情:
我已经搞乱了我的代码有一段时间了......现在当我运行它并在菜单中单击第二个选项时,当我输入超过 15 个字符的密码时,我收到此错误?谁能看到我做错了什么?这可能是一些我无法发现的小事谢谢 错误:
我有一个正在尝试构建的“单词”链接列表,我创建了一个名为“add_to_mem”的函数,它将下一个单词添加到链接列表中。我对代码进行了几次检查,发现他工作了两次 - 一次当链接列表为 NULL 时,一
我遇到了这个错误 *** Error in `./main': double free or corruption (out): 0x000000000095c8a0 *** getPieces()定
我的 jni 代码中有 malloc 问题。该代码旨在让我访问 java 中的 exiv2 库。我尝试使用 sun 和 openjdk 1.6.0 虚拟机以及 1.7.0(测试版)虚拟机破坏代码。 错
使用 visual studio 2013,我一直在尝试运行下面的代码,但是当变量 vertexPointer 达到数字 7172 时,我以某种方式收到“堆已损坏”异常。有时我会收到错误消息:“未加载
是否有一个约定俗成的errno代码表明指定的文件已损坏(它不符合应有的文件格式)? 我正在编写文件解析器,但不知道要返回的最合适的代码是什么。总是有 EINVAL,虽然我希望有比这更具体的东西,因为它
我的 date.php 是 -
这可能是个愚蠢的问题,但我在运行 *.jar 包时随机出现以下错误。有时程序运行完美,有时会中断,将其输出到控制台: *** Error in 'java': double free or corru
当运行脚本来筛选 抓取 网页时,我遇到“zend_mm_heap 已损坏”。请让我知道如何解决此问题。 最佳答案 我假设您正在使用带有 mod_php 的 Apache 来回答这个问题。 当 apac
我有将十六进制字符串转换为字节数组的函数, BYTE* HexStrToByteArray(std::wstring hex_str) { int len = hex_str.size()*0
请不要为了这个把我钉在十字架上。我决定使用 char* 可能更好,因为我打算构建的字符串的大小已知。我还知道,如果 timeinfo->tm_hour 返回的不是 2 位数字,那么事情就会变得很糟糕。
我有一个包含 vector 的类 (foo)。 如果我尝试像这样遍历 vector 中的元素: for(vector::iterator it = foo.getVector().begin();
每当我从我的 Remote 中 pull 出时,我都会收到以下关于压缩的错误。当我运行手动压缩时,我得到了相同的结果: $ git gc error: Could not read 381378312
我是一名优秀的程序员,十分优秀!