vb.net 将图表对象的矢量图复制到剪贴板

这篇博客介绍了如何在vb.net中将图表对象保存为EMF矢量图并复制到剪贴板。在尝试直接使用Chart对象的SaveImage方法时遇到GDI+错误,问题在于需要从保存到MemoryStream的有效数据部分重新创建新的MemoryStream。博主通过调用API成功将Metafile放入剪贴板,并提到了在高DPI环境下确保图表正确绘制的方法。
摘要由CSDN通过智能技术生成

最近使用vb.net自带的图表对象,想把图表存储为emf矢量图,chart对象提供了SaveImage方法,可以存储为磁盘文件,SaveImage(imageFileName As String, format As ChartImageFormat),然后复制文件,粘贴到word里,但是直接将emf文件保存在内存中然后放入剪贴板更合适,但使用存储为内存数据的重载方法时提示GDI+出现一般性错误。

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        With Chart1
             With .Series(0)
                .ChartType = DataVisualization.Charting.SeriesChartType.Line
                .Points.DataBindXY({1.0R, 5.0R}, {7.0R, 9.0R})
            End With

            Dim x As New IO.MemoryStream()
            .SaveImage(x, DataVisualization.Charting.ChartImageFormat.Emf)
            Dim emf = New Imaging.Metafile(x)    '出错
        End With

    End Sub

折腾半天发现原因很简单,SaveImage(imageStream As Stream, format As ChartImageFormat)方法存储的MemoryStream比实际要大,需要把

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
21世纪什么最重要?通用!想让你的图形控件和主流软件共享同一种编辑结果吗,那就选择我吧!国内唯一全面基于国际矢量图形标准SVG的专业开发控件,提供全面的矢量编辑能力,能适应组态软件和其他图形软件开发需要。能够和其他主流的编辑软件如illustrator,Visio等共享最终编辑结果。使用VectorControl.Net,您可以:> 基本形状绘制,支持圆、椭圆、矩形、正方形、直线、多边形、折线的绘制> 图像和文本构造,支持导入图像和文本构造> 扩展形状绘制,支持星形形状和扇形的构造> 钢笔工具绘制,支持任意形状的曲线构造(贝赛尔曲线)> 二维变换,支持缩放、扭曲、平移和旋转等二维变换,并可以启用或禁用这些操作。> 图形的成组和解组> 图形的层次调整> 支持多个图形之间的对齐> 支持多个图形之间的分布功能> 调整多个图形的尺寸以达到相同高度或宽度> 网格、参考线、标尺等完整视图环境并支持吸附。> 支持外部自定义形状和图元文件,给与用户自由扩展功能的能力,并能将当前绘图内容导出为形状和图元> 支持连接线,可以在对象之间保持联系> 无限制的撤销/重作> 支持SVG文件的导入> Bmp,Jpg,Gif,Tiff等多种栅格图像格式的导出> SVG文件代码预览> VectorControl.Net还提供了许多Windows界面开发组件,包括弹出菜单时容器,形状和组件库选择器等> 打印支持> 两套完整的示例程序以及源代码(C#和VB.Net),全面全面展现了如何利用VectorControl.Net控件实现简单的矢量应用(不需要任何手工编码实现SVG浏览器)和利用VectorControl实现一个完整的矢量编辑环境(具备所有矢量图形编辑功能)的能力,您甚至可以直接将我们提供的示例程序用作您默认的矢量图形的编辑器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值