提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:郝浩|2017-07-12 17:20:45.000|阅读 462 次
概述:图像映射功能支持用户创建指向HTML文档中特定部分图片的超级链接。使用Open API你可以将Visual Paradigm的图表导入为图像文件,并生成带有图像映射的HTML文档。用户只需要点击图表图像就可以跳转到你所定义的URL地址。在本文中,将为你展示如何将图表导出为图像,并为其生成图像映射。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
图像映射功能支持用户创建指向HTML文档中特定部分图片的超级链接。使用Open API你可以将Visual Paradigm的图表导入为图像文件,并生成带有图像映射的HTML文档。用户只需要点击图表图像就可以跳转到你所定义的URL地址。在本文中,将为你展示如何将图表导出为图像,并为其生成图像映射。
我们首先通过文件选择器JFileChooser来获取用户的输出文件夹,并指定它为只接收文件夹。
// Create file chooser for picking the output directory JFileChooser fileChooser = ApplicationManager.instance().getViewManager().createJFileChooser(); fileChooser.setDialogTitle("Specify output folder"); fileChooser.setDialogType(JFileChooser.DIRECTORIES_ONLY); int returnValue = fileChooser.showSaveDialog(null); // if user selected a folder then proceed to genrate the image map if (returnValue == JFileChooser.APPROVE_OPTION) { File outputFolder = fileChooser.getSelectedFile(); outputFolder.mkdirs();
当我们获取到输出文件夹后,需要将当前的图表导出为图像文件并保存到用户指定的位置。我们可以使用来执行导出操作,导出的图像会进行修整以填充周围的空白空间。这意味着我们从图表中获取的图形坐标不会体现到实际导出图像的位置。为了获得修整的偏移量我们在exportActiveDiagramAsImage中引入了java.awt.Point对象。在导出图像之后,Point对象将会由偏移的X和Y构成,我们可以使用它来计算输出图像中元素的移动位置。
// Create point object to retrieve the trimmed offset between actual diagram and exported diagram Point offsetPoint = new Point(); // Obtain the ModelConvertionManager ModelConvertionManager convertionManager = ApplicationManager.instance().getModelConvertionManager(); // Ask ModelConvertionManager to export active diagram into SVG image to the output folder. // The Point object will filled with offset value after export diagram to image. convertionManager.exportActiveDiagramAsImage(new File(outputFolder.getAbsolutePath() + File.separator + "image.png"), ModelConvertionManager.IMAGE_TYPE_PNG, offsetPoint);
在将图表导入为图像之后,我们可以开始生成HTML内容和图像映射,我们将通过创建StringBuffer来保存HTML和图像映射内容。
StringBuffer sb = new StringBuffer(); sb.append("<html><head></head><body>\n"); sb.append("<img src=\"image.png\" usemap=\"#imgmap\"/>\n"); sb.append("<map name=\"imgmap\">\n");
对于我们从图表中获得的每个图形,我们会为它创建一个矩形的映射区域,然后通过减去偏移量来获取图像的实际位置。
// Loop through all shapes in active diagram IShapeUIModel[] shapes = diagram.toShapeUIModelArray(); if (shapes != null && shapes.length > 0) { for (IShapeUIModel shape : shapes) { // Create a map area for each shape. // Remember to reduce the trimmed offset when export diagram to image sb.append("<area shape=\"rect\" coords=\"" + (shape.getX() - offsetPoint.getX()) + "," + (shape.getY() - offsetPoint.getY()) + "," + (shape.getX() + shape.getWidth() - offsetPoint.getX()) + "," + (shape.getY() + shape.getHeight() - offsetPoint.getY()) + "\" href=\"//www.visual-paradigm.com\">\n"); } } // Close the image map and HTML sb.append("</map>\n"); sb.append("</body></html>");
最后我们为输出文件夹编写HTML。
// Write the HTML with image map to file File htmlFile = new File(outputPath + File.separator + "index.html"); try { FileOutputStream fout = new FileOutputStream(htmlFile); fout.write(sb.toString().getBytes()); fout.close(); } catch (Exception e) { e.printStackTrace(); }
本文中附带的示例插件将演示如何将当前活动的图表导出为带有图像映射的HTML。在你之后,你可以点击应用程序工具栏中的plugin按钮来触发它。
然后,它会带来文件选择器功能以指定输出文件夹。
之后,包含图像映射的HTML连同图表图像将会被导出到这个指定的文件夹里。
相关:
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢