العمل مع الصور
استخراج كافة الصور من صفحة Visio
في Microsoft Visio ، تكون الصفحات إما صفحات أمامية أو صفحات خلفية. يمكنك استخراج الصور من صفحة معينة لملف Visio.
استخراج الصور
يمثل كائن فئة الصفحة منطقة الرسم لصفحة أمامية أو صفحة خلفية. تدعم خاصية الأشكال المعروضة بواسطة الفئة Diagram مجموعة من Aspose.Diagram كائنات الشكل. يمكن استخدام هذه الخاصية لاستخراج جميع الصور من صفحة معينة.
عينة برمجة استخراج الصور
يستخرج الجزء التالي من التعليمات البرمجية جميع الصور من صفحة Visio معينة.
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(ExtractAllImagesFromPage.class); | |
// call a Diagram class constructor to load a VSD diagram | |
Diagram diagram = new Diagram(dataDir + "ExtractAllImagesFromPage.vsd"); | |
// Enter page index i.e. 0 for first one | |
for (Shape shape : (Iterable<Shape>) diagram.getPages().getPage(0).getShapes()) | |
{ | |
// Filter shapes by type Foreign | |
if (shape.getType() == TypeValue.FOREIGN) | |
{ | |
FileOutputStream fos = new FileOutputStream(dataDir+ "ExtractAllImages" + shape.getID() + "_Out.bmp"); | |
fos.write(shape.getForeignData().getValue()); | |
fos.close(); | |
} | |
} |
احصل على أيقونات بأشكال Visio مختلفة
Aspose.Diagram for Java API يسمح الآن للمطورين بالحصول على أيقونات بأشكال Visio مختلفة.
الحصول على أيقونة الشكل
يوضح الكود الموجود في العينات أدناه كيفية:
- قم بتحميل diagram أو استنسل موجود.
- احصل على إتقان من خلال فهرسها
- احصل على أيقونة رئيسية.
- حفظ الرمز في الفضاء المحلي.
احصل على نموذج لبرمجة الأيقونات
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(GetShapeIcon.class); | |
// Load stencil file to a diagram object | |
Diagram stencil = new Diagram(dataDir + "Timeline.vss"); | |
// get master | |
Master master = stencil.getMasters().getMasterByName("Triangle"); | |
// get byte array | |
byte[] bytes = master.getIcon(); | |
// create an image file | |
FileOutputStream fos = new FileOutputStream(dataDir + "MasterIcon_Out.png"); | |
// write byte array of the image | |
fos.write(bytes); | |
// close array | |
fos.close(); |
استبدال شكل صورة Visio Diagram
Aspose.Diagram for Java API يسمح للمطورين بالوصول إلى أشكال الصور المتاحة واستبدالها في Visio diagram.
استبدال شكل صورة
يوضح الكود الموجود في العينات أدناه كيفية:
- قم بتحميل diagram موجود.
- كرر من خلال أشكال الصفحة الانتقائية.
- قم بتطبيق عامل التصفية للحصول على أشكال الصور.
- حفظ الناتج Visio diagram في المساحة المحلية.
استبدال نموذج لبرمجة شكل صورة
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(ReplaceShapePicture.class); | |
// call a Diagram class constructor to load the VSD diagram | |
Diagram diagram = new Diagram(dataDir + "ExtractAllImagesFromPage.vsd"); | |
// convert image into bytes array | |
File fi = new File(dataDir + "Picture.png"); | |
byte[] fileContent = Files.readAllBytes(fi.toPath()); | |
// Enter page index i.e. 0 for first one | |
for (Shape shape : (Iterable<Shape>) diagram.getPages().getPage(0).getShapes()) | |
{ | |
// Filter shapes by type Foreign | |
if (shape.getType() == TypeValue.FOREIGN) | |
{ | |
//replace picture shape | |
shape.getForeignData().setValue(fileContent); | |
} | |
} | |
// save diagram | |
diagram.save(dataDir + "ReplaceShapePicture_Out.vsdx", SaveFileFormat.VSDX); |
استيراد صورة نقطية كشكل Visio
Aspose.Diagram for Java API يسمح الآن للمطورين باستيراد صورة نقطية كشكل Microsoft Visio.
أدخل BMP صورة في Visio
يوضح الكود الموجود في العينات أدناه كيفية:
- قم بإنشاء diagram.
- احصل على Visio صفحة
- قم باستيراد صورة نقطية كشكل Visio
- احفظ diagram.
أدخل BMP عينة برمجة صورة
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(ExtractAllImagesFromPage.class); | |
// call a Diagram class constructor to load a VSD diagram | |
Diagram diagram = new Diagram(dataDir + "ExtractAllImagesFromPage.vsd"); | |
// Enter page index i.e. 0 for first one | |
for (Shape shape : (Iterable<Shape>) diagram.getPages().getPage(0).getShapes()) | |
{ | |
// Filter shapes by type Foreign | |
if (shape.getType() == TypeValue.FOREIGN) | |
{ | |
FileOutputStream fos = new FileOutputStream(dataDir+ "ExtractAllImages" + shape.getID() + "_Out.bmp"); | |
fos.write(shape.getForeignData().getValue()); | |
fos.close(); | |
} | |
} |