以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]【条形码】能保存矢量图吗? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85956) |
-- 作者:hui986 -- 发布时间:2016/6/6 18:17:00 -- [求助]【条形码】能保存矢量图吗? 如题,我想将生成的条形码保存为【矢量图】,这样便于我们做图时的应用! SaveImage 将生成的图片保存为文件,语法: SaveImage(FileName, DPI) FileName:指定文件名。 系统会根据文件的扩展名以合适的格式保存文件,例如文件名是“c:\\data\\bar.bmp”,系统会以BMP格式保存文件,如果文件名是"c:\\data\\bar.wmf",则以WMF格式保存文件。 示例: With e.Form.Controls("BarCode1") 正常的WMF是矢量图,但是出来是图片(点阵图)! [此贴子已经被作者于2016/6/6 18:18:32编辑过]
|
-- 作者:Hyphen -- 发布时间:2016/6/7 8:34:00 -- 试试 Dim BarCode1 As WinForm.BarCode = e.Form.Controls("BarCode1") Dim bmp = New Bitmap(BarCode1.GetImage()) Dim gs = Graphics.FromImage(bmp) Dim mf = New Imaging.Metafile("D:\\005.wmf", gs.GetHdc()) Dim g = Graphics.FromImage(mf) g.DrawImageUnscaled(bmp, 0, 0) g.Save() g.Dispose() mf.Dispose() |
-- 作者:hui986 -- 发布时间:2016/6/7 12:29:00 -- 谢谢!我刚测试过,还是不行! 生成出来还是点阵图 Dim Bar As New BarCodeBuilder Bar.Symbology = Barpro.Symbology.Code128 Bar.Code = "010501301" Bar.BarRatio = 0.8 Bar.BarHeight = 8 Bar.DisplayCode = False \'bar.SaveImage("c:\\测试条形码.jpg",600) Dim bmp = New Bitmap(bar.GetImage()) Dim gs = Graphics.FromImage(bmp) Dim mf = New Imaging.Metafile("D:\\0051.wmf", gs.GetHdc()) Dim g = Graphics.FromImage(mf) g.DrawImageUnscaled(bmp, 0, 0) g.Save() g.Dispose() |
-- 作者:Hyphen -- 发布时间:2016/6/7 14:30:00 -- vs帮助说.NET Framework 的 GDI+ 组件没有可用来将文件另存为 .wmf 或 .emf 文件的编码器,实际保存的是png格式,可能要第三方的编码器才行,比如Adobe Illustrator SDKs:http://www.adobe.com/devnet/illustrator/sdk.html 或者提高一下图像质量 Dim Bar As New BarCodeBuilder Bar.Symbology = Barpro.Symbology.Code128 Bar.Code = "010501301" Bar.BarRatio = 0.8 Bar.BarHeight = 8 Bar.DisplayCode = False \'bar.SaveImage("c:\\测试条形码.jpg",600) Dim bmp = New Bitmap(bar.GetImage()) Dim gs = Graphics.FromImage(bmp) Dim mf = New Imaging.Metafile("F:\\0051.wmf", gs.GetHdc()) Dim g = Graphics.FromImage(mf) g.SmoothingMode = Drawing2D.SmoothingMode.HighQuality g.CompositingQuality = Drawing2D.CompositingQuality.HighQuality g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic g.DrawImageUnscaled(bmp, 0, 0) g.Save() g.Dispose() |
-- 作者:hui986 -- 发布时间:2016/6/7 14:43:00 -- 好的,非常感谢您的热心回复! 我现在的处理方式就是放大尺寸+ 提高分辨率!
|