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