کتابخانه دیاگرام نویسی Visio C++ منبع باز
ایجاد، ویرایش، مشاهده، خواندن، و دستکاری نقشههای Visio از طریق کتابخانه دیاگرامنگاری رایگان C++ منبع باز.
EXDVisio یک کتابخانه C++ منبع باز است که مجموعه ای از ابزارهای قدرتمند را برای تجسم و دستکاری ساختارهای داده پیچیده ارائه می دهد. این کتابخانه دارای چندین ویژگی مهم مربوط به طراحی برداری، اصلاح SVG، رابط کاربری گرافیکی شبیه به Visio، طراحی نمودار جریان، نمودار جریان، وکتور، ویرایش گرافیکی، چاپ، واردات SVG، صادرات SVG، واردات DXF، طراحی چند صفحه به سبک Visio است. پشتیبانی، پشتیبانی از ویرایشگر متن ترکیبی، صادرات DXF و بسیاری موارد دیگر.
این کتابخانه بسیار انعطافپذیر است و استفاده از آن آسان است، و آن را به انتخابی ایدهآل برای طیف وسیعی از برنامهها، از جمله تجسم علمی، تجزیه و تحلیل دادهها، و گرافیک کامپیوتری تبدیل میکند. این کتابخانه شامل پشتیبانی از شکل پیچیده ای از عملیات هندسی مانند تقاطع، فاز، تفریق و غیره است. این کتابخانه دارای ویژگیهای پیشرفتهای برای پردازش گرافیک روی بوم است، مانند چرخش مستقیم، مقیاسبندی، حرکت، تغییر شکل، اعوجاج و سایر عملیات پیشرفته. این کتابخانه توسط گروه تحقیقاتی EXDS در دانشگاه سالرنو در ایتالیا توسعه یافته است و تحت مجوز عمومی عمومی گنو توزیع شده است.
EXDVisio بسیار قابل تنظیم است و به توسعه دهندگان نرم افزار اجازه می دهد تا به راحتی عملکرد آن را تغییر داده و گسترش دهند تا نیازهای خاص خود را برآورده کنند. این کتابخانه شامل پشتیبانی از فرمت های فایل محبوب، مانند OBJ، STL، XML، ArcGIS، و همچنین تعدادی از فرمت های تخصصی برای داده های علمی، مانند DXF، VTK، و HDF5 است. این به توسعه دهندگان نرم افزار اجازه می دهد تا نقشه های خود را به فرمت های فایل EMF، PNG، BMP، JPEG، PDF، SVG و دیگر فرمت های فایل صادر کنند. علاوه بر این، API شامل تعدادی از تکنیکهای رندر پیشرفته، مانند ردیابی پرتو و انسداد محیط است که امکان ایجاد تصاویر با کیفیت بالا و واقعی را فراهم میکند.
شروع به کار با EXDVisio
روش توصیه شده برای نصب EXDVisio استفاده از GitHub است. کد منبع کتابخانه را از وب سایت پروژه یا مخزن GitHub دانلود کنید. لطفا از دستور زیر برای نصب راحت استفاده کنید.
EXDVisio را از طریق دستور git نصب کنید
git clone https://github.com/jackonlyone1/EXDVisio.git
ایجاد نقشههای Visio از طریق C++ API
کتابخانه منبع باز EXDVisio به توسعه دهندگان نرم افزار این قدرت را می دهد که با Visio Drawings در داخل برنامه های C++ خود کار کنند. این کتابخانه دارای چندین ویژگی مهم مرتبط با مدیریت Visio Drawings است، مانند ایجاد یک طراحی جدید از ابتدا، بارگذاری نقشه های موجود، تنظیم پس زمینه و پیش زمینه، افزودن عناصر به نقاشی (خطوط، دایره، متن، مستطیل)، مقیاس بندی شکل، چرخش. عناصر، و بسیاری دیگر. مثال زیر نحوه ایجاد یک طراحی ساده DXF را با استفاده از کتابخانه EXDVisio در C++ نشان می دهد.
چگونه از طریق کتابخانه C++ DXF ساده ایجاد کنیم؟
#include "visio.h"
int main()
{
// Initialize Visio object
Visio visio;
// Create a new drawing
visio.createDrawing();
// Add a line to the drawing
visio.addLine(0, 0, 100, 100);
// Add a circle to the drawing
visio.addCircle(50, 50, 25);
// Add some text to the drawing
visio.addText("Hello, world!", 50, 75);
// Save the drawing in DXF format
visio.saveDrawing("example.dxf");
return 0;
}
تبدیل Visio Drawings از طریق C++ API
کتابخانه منبع باز EXDVisio یک راه حل بسیار کارآمد برای بارگیری و تبدیل نقشه های Microsoft Visio به فرمت های فایل های مختلف در داخل برنامه های C++ خود است. این به کاربران اجازه می دهد تا فایل های باینری مایکروسافت ویزیو (VSD و VDX) را بخوانند و بنویسند. برای تبدیل یک طراحی Visio به فرمت دیگر، می توانید از EXDVisio برای استخراج اطلاعات لازم از سند Visio استفاده کنید و سپس از کتابخانه دیگری برای ایجاد فرمت خروجی استفاده کنید. این کتابخانه شامل پشتیبانی از تبدیل فایل طراحی Visio فرمت های مختلف فایل دیگر مانند DXF، EMF، PNG، BMP، JPEG، PDF، SVG و سایر فرمت های فایل است.
تبدیل Visio Drawing به SVG از طریق کتابخانه C++
#include
int main() {
// Load Visio drawing into memory
EXDDocument visioDoc;
visioDoc.load("mydrawing.vsd");
// Create SVG Document
EXDSVGDocument svgDoc;
// Traverse Visio Document and extract information
for (int i = 1; i <= visioDoc.getPages(); i++) {
EXDPage page = visioDoc.getPage(i);
for (int j = 1; j <= page.getShapes(); j++) {
EXDShape shape = page.getShape(j);
// Extract shape information and generate SVG elements in svgDoc
}
}
// Save SVG Document to file
svgDoc.saveToFile("mysvg.svg");
return 0;
}