VDF常见问题整理(六十九):在vectordraw如何使用材料图像和贴图TexCoords创建vdPolyface?

本文主要讲述如何创建带有材质图像并映射TexCoords的vdPolyface

问:如何使用材料图像和贴图TexCoords创建vdPolyface/p>

创建带有材质图像并映射TexCoords的vdPolyface

解决方案

例子:

假设我们创建了一个图像’textcoords.png’看起来像 宽度xheigth = 2598×1732(纵横比/高度= 1.5)

VDF常见问题整理(六十九):在vectordraw如何使用材料图像和贴图TexCoords创建vdPolyface?

遵循创建新的vdPolyface的代码,该vdPolyface表示1x1x1大小的盒子 并将图像的各个部分映射到每个面孔 注意:假设图像坐标为左下= 0,0和右上= 1,1

//盒子角点                gPoints pts = new gPoints();                //底点                pts.Add(new gPoint(0,0,0));                pts.Add(new gPoint(1,0,0));                pts.Add(new gPoint(1,1,0));                pts.Add(new gPoint(0,1,0));                //最高点                pts.Add(new gPoint(0,0,1));                pts.Add(new gPoint(1,0,1));                pts.Add(new gPoint(1,1,1));                pts.Add(new gPoint(0,1,1));                Int32Array facelist = new Int32Array(new int [] {                    //注意:更改                    1,2,3,4,-1,//底部                    5,6,7,8,-1,//顶部                    1,2,6,5,-1,//前                    3,4,8,7,-1,//返回                    4,1,5,8,-1,//左                    2,3,7,6,-1,//右                });                //注意:假设图像坐标为左下= 0,0和右上= 1,1                // --->(相对于图像左下方的纹理坐标)                // 0.0 0.33 0.66 1.0                //                // 1 | ---- | ---- | ---- |                // | -A-- | -B-- | -C-- |                //0.5 | ---- || ---- | ---- |                // | -D-- | -E-- | -F-- |                // 0 | ---- | ---- | ---- |                DoubleArray texcoords = new DoubleArray(new double [] {                    0.0,0.5,0.33,0.5,0.33,1.0,0.0,1.0,//底部一个字母                    0.33,0.5,0.66,0.5,0.66,1.0,0.33,1.0,//顶B字母                    0.66,0.5,1.0,0.5,1.0,1.0,0.66,1.0,//前C字母                    0.0,0.0,0.33,0.0,0.33,0.5,0.0,0.5,//后退D字母                    0.33,0.0,0.66,0.0,0.66,0.5,0.33,0.5,//左E字母                    0.66,0.0,1.0,0.0,1.0,0.5,0.66,0.5,//右F字母                });                vdPolyface pf =新的vdPolyface(doc,pts,facelist){TexCoords = texcoords};                vdColor pfcolor =新的vdColor(Color.Blue);                pfcolor.MaterialImage = doc.Images.Add(@“ textcoords.png”);                pf.PenColor = pfcolor;                doc.Model.Entities.AddItem(pf);                doc.RenderMode = vdRender.Mode.Render;                doc.Redraw(true);

=======================================================

如果您对想要购买正版授权VectorDraw Developer Framework(VDF),可以联系在线客服>>咨询相关问题。

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月13日
下一篇 2021年4月13日

相关推荐

发表回复

登录后才能评论