翻譯|使用教程|編輯:鮑佳佳|2021-06-10 11:42:45.460|閱讀 114 次
概述:VectorDraw Framework使用vdPolyFace或vdGroundSurface對象的MappedImages屬性導出了將圖像映射到這些對象的能力。這方面的例子可以在我們的AddEntities示例中找到。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
VectorDraw Developer Framework(VDF)是一個用于應用程序可視化的圖形引擎庫。有了VDF提供的功能,您可以輕松地創建、編輯、管理、輸出、輸入和打印2D和3D圖形文件。該庫還支持許多矢量和柵格輸入和輸出格式,包括本地PDF和SVG導出。
下載VectorDraw Developer Framework(VDF)最新版
	
	VectorDraw Framework使用vdPolyFace或vdGroundSurface對象的MappedImages屬性導出了將圖像映射到這些對象的能力。這方面的例子可以在我們的AddEntities示例中找到。
如果你想在你的繪圖上映射一個單一的圖像,你可以使用下面的示例代碼。
假設我們有一個名稱為 "myimage.jpg "的圖像
同時我們有2個像素坐標系中的點,相對于圖像的左上角
例子
    P1_pixel_x , P1_pixel_y
和
    P2_pixel_x , P2_pixel_y
現在,我們有了一個要映射圖像的圖紙
	
vdDocument doc;//already defined VectorDraw Document object。
//為選中的像素點
構造gPoints gPoint imgp1 = new gPoint(P1_pixel_x , P1_pixel_y,0);
gPoint imgp2 = new gPoint(P2_pixel_x, P2_pixel_y,0);
//將imagedefinition添加到繪圖中
vdImageDef imagedef = doc.Images.Add("myimage.jpg" );
double Aspect =(double) imagedef .Height / (double)imagedef .Width;//width,所選圖像的高度(以像素為單位)
//創建一個矩陣,將圖像的像素坐標轉換為 Unint 寬度矩陣
矩陣 pixeltoworld = new Matrix();
pixeltoworld.ScaleMatrix(1.0 / magedef .Width, -Aspect /imagedef .Height, 1.0d);
pixeltoworld.TranslateMatrix(0.0, Aspect, 0.0);
//將像素坐標轉換為單位世界坐標
imgp1 = pixeltoworld.Transform(imgp1);
imgp2 = pixeltoworld.Transform(imgp2);
vector offsrc = new Vector(imgp2 - imgp1);//源向量
Vector offdst =new Vector(P2_world -P1_world );//目標向量
double scale = offdst.Length / offsrc.Length;
//計算映射圖像的最終變換矩陣
Matrix m2 = new Matrix();
m2.TranslateMatrix(imgp1 * -1);
m2.ScaleMatrix(scale, scale, 1.0);
m2.RotateZMatrix(offdst.Angle2DDirection() - offsrc.Angle2DDirection());
m2.TranslateMatrix(P1_world);
//創建一個新的圖像引用所選的“myimage.jpg”
vdImage img2 = new vdImage(doc);
img2.ImageDefinition = imagedef ;
img2.PenColor = new vdColor(Color.White, 100);//使圖像透明
img2.Transformby(m2);//將圖像變換到繪圖中的正確位置
doc.Model.Entities.AddItem(img2); //將圖像添加到模型繪圖實體
doc.Redraw(true);//強制重繪繪圖
=======================================================
如果您對想要購買正版授權VectorDraw Developer Framework(VDF),可以聯系咨詢相關問題。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉載自: