我在Sketchup中加载外部库时遇到问题
我想知道图像的原始宽度和高度。但我在Sketchup API中没有发现。所以我下载了fastimage,一个库可以做到这一点。(https://github.com/sdsykes/fastimage)。我使用以下命令安装了它:
gems install fastimage这个新的gem安装在:c:\ruby186\lib\ruby\gems\1.8Gem中,我需要在我的脚本中使用它(通过以上链接中的.Then ):
require 'fastimage'但是我得到了一个错误:没有这样的文件可以加载-- fastimage
然后我在这个链接中找到了一个解决方案:http://sketchucation.com/forums/viewtopic.php?t=29412#p257058。创建一个loadpath脚本,并创建一个到外部库的链接。创建此脚本后,将它们放入Sketchup中的plugin文件夹中,然后再次运行Sketchup。但我仍然得到一个错误:没有这样的文件加载。
。
我的ruby版本是1.8.6,当我输入命令时:将RUBY_VERSION放入Sketchup ruby控制台。它的输出是1.8.6 (与我的ruby版本相同)。我不明白为什么它不能需要新的创业板。请帮帮我,谢谢。
发布于 2014-02-17 02:27:52
由于您使用的是ruby-1.8,因此应该在可执行文件前面指定require 'rubygems',因此:
require 'rubygems'
require 'fastimage'如果需要rubygems抛出错误,这意味着您的系统中没有为当前ruby安装rubygems,因此请安装它,例如,如下所示:
apt-get install rubygems发布于 2014-02-20 23:24:31
要获取图像的像素宽度和高度,可以对给定的Material使用Texture对象的image_width和image_height方法。http://www.sketchup.com/intl/en/developer/docs/ourdoc/texture.php#image_width
这是假设当您在SketchUp上下文中说“图像”时,您指的是纹理。如果想要从Image实例获取信息,可以使用Image.pixelwidth和Image.pixelheight。http://www.sketchup.com/intl/en/developer/docs/ourdoc/image.php#pixelwidth
另一方面,如果您希望检查未加载到SketchUp中的位图的大小,则会更加困难,因为SketchUp附带的是Ruby1.8核心,而不是标准库。你可以做一个Ruby C扩展,然后用C完成这项工作。
https://stackoverflow.com/questions/21810025
复制相似问题