翻譯|使用教程|編輯:況魚杰|2019-10-11 14:47:47.100|閱讀 285 次
概述:本系列教程整理了VectorDraw Developer Framework(VDF)最常見問題,教程整理的很齊全,非常適合新手學習,本文章將會演示如何獲得vdBlock的圖像預覽,采取像插入塊對話框的形式。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
VectorDraw Developer Framework(VDF)是一個用于應用程序可視化的圖形引擎庫。有了VDF提供的功能,您可以輕松地創建、編輯、管理、輸出、輸入和打印2D和3D圖形文件。
VectorDraw Developer Framework試用版下載
點開本篇文章,是否對矢量圖形工具感興趣呢?來看看最新的矢量圖形工具測評吧!點擊此處>>即可直達哦!
問:
我如何像插入塊對話框中那樣獲得vdBlock的圖像預覽?
答:
vdBlocks內部不包含它們的預覽,因此您需要使用vdRender快速創建一個。
在表單中添加一個vdFramed / vdScrollable / vdBase控件,一個按鈕和一個圖片框,打開一個圖形并嘗試如下代碼:
private void button1_Click(object sender, EventArgs e)
{
doc = vdFramedControl1.BaseControl.ActiveDocument;
vdBlock blk = doc.Blocks.FindName("VDDIM_DEFAULT"); // try here some block names that exist in the drawing you opened
if (blk == null) return; // block not found
// imgblock is a picturebox private System.Windows.Forms.PictureBox imgblock; added to the form
int blockwid = imgblock.Width;
int blockhei = imgblock.Height;
Bitmap image = new Bitmap(blockwid, blockhei);
VectorDraw.Render.vdRender rend = new VectorDraw.Render.GDIPlusRender(null);
rend.graphics = Graphics.FromImage(image);
rend.UpperLeft = new Point(0, 0);
rend.Width = blockwid;
rend.Height = blockhei;
rend.ViewSize = blockhei;
rend.ViewCenter = new VectorDraw.Geometry.gPoint((double)rend.Width / 2.0d, (double)rend.Height / 2.0d);
rend.Init();
rend.StartDraw(false);
rend.Clear(doc.Palette.Background);
VectorDraw.Render.vdGdiPenStyle ps = new VectorDraw.Render.vdGdiPenStyle();
ps.LineType = doc.LineTypes.Solid.GetgrLineType();
ps.color = Color.Black;
rend.PushPenstyle(ps);
vdInsert ins = new vdInsert();
ins.SetUnRegisterDocument(doc);
ins.setDocumentDefaults();
ins.Block = blk;
double hei = ins.BoundingBox.Height;
double wid = ins.BoundingBox.Width;
double max = Math.Max(hei, wid);
double min = Math.Min(hei, wid);
ins.InsertionPoint = new VectorDraw.Geometry.gPoint(0.0d, 0.0d, 0.0d);
rend.ViewSize = max * 5.0 / 4.0;
rend.ViewCenter = new VectorDraw.Geometry.gPoint(ins.BoundingBox.MidPoint);
ins.Update();
ins.Draw(rend);
rend.PopPenstyle();
rend.EndDraw();
rend.graphics.Dispose();
rend.graphics = null;
imgblock.Image = image;
}對于以上問答,如果您有任何的疑惑都可以在評論區留言,我們會及時回復。此系列的問答教程我們會持續更新,如果您感興趣,可以多多關注本教程。
相關資料推薦:
點擊此處還有VectorDraw Developer Framework的demo示例等著你來體驗哦!
如果您對想要購買正版授權VectorDraw Developer Framework(VDF),可以聯系咨詢相關問題。
關注慧聚IT微信公眾號 ???,了解產品的最新動態及最新資訊。

本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉載自: