0

SketchupRubyでCOLLADAエクスポートした後にテクスチャ画像ファイルのサイズを変更する必要があります。

プレーンなSketchupRubyAPIを使用して、ディスクから画像(PNG、JPG)を読み取り、サイズを変更してディスクに保存する方法はありますか?

私はファイルの読み取り/書き込みの方法を知っていますが、「画像のデコード、サイズ変更、エンコード」の部分についてはまったくわかりません。

私が見つけたほとんどの画像サイズ変更の例には、Sketchuprubyディストリビューションでは利用できない画像処理ライブラリまたはgemが含まれています。SURubyプラグインで簡単に配布できるポータブルソリューションがあると便利です。

4

2 に答える 2

0

SketchUp Ruby API には、画像を直接操作するメソッドは含まれていません。

テクスチャを使用するモデルでマテリアルを作成できますが、画像リソースをロードするだけではありません。

使用できる方法があります: Material.write_thumbnail(SU8M1+)、説明に基づいて、モデル内のマテリアルを反復処理し、サムネイルをエクスポートできます。

ただし、この方法には非常に厄介な制限があります。

Material.write_thumbnail一部のシナリオでの使いやすさを制限する動作があります。

元の幅または高さ以上の寸法を指定すると、メソッドは失敗します。つまり、解像度の引数は、元のテクスチャの長さまたは幅の最小単位よりも 1 ピクセル小さくする必要があります。

これにより、幅と高さの比率が大きいテクスチャで問題が発生します。最大 128x128px のサムネイルを生成したい場合、サムネイルを生成するマテリアルのテクスチャが 64x512px の場合、失敗します。その特定のテクスチャに関しては、サムネイルの最大サイズは 63 ピクセル (最小寸法より 1 ピクセル小さい) になり、8×63 のサムネイルになります。

そのため、真に使いやすくするために、このメソッドはサムネイルの幅と高さを理想的に受け入れる必要があります。ああ。うまくいけば、これは後のバージョンで改善されるでしょう。

(SketchUp のマテリアルに関する詳細情報: http://www.thomthom.net/thoughts/2012/03/the-secrets-of-sketchups-materials/#material-thumbnails )

残念ながら、SketchUp プラグインを開発するときに画像を実際に制御するには、サード パーティのライブラリを使用する必要があります。

この分野で多くの作業を行った Aerilius によるプラグイン "Texture Resizer" を見ることができます。http://sketchucation.com/forums/viewtopic.php?f=323&t=40720#p360679

于 2013-01-20T16:39:00.383 に答える
-1

ここhttp://www.sketchup.com/intl/en/developer/docs/ourdoc/imageheight=を見ると、メソッドが表示され、width=必要なものが得られるはずです。

于 2013-01-11T18:56:42.400 に答える