以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 图片叠加问题怎样解决? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93118) |
|||||
-- 作者:riancel -- 发布时间:2016/11/21 10:17:00 -- 图片叠加问题怎样解决? 想做一款身份证阅读器配套的 身份证自动复印机。 实现刷卡自动复印身份证(看到群光电子公司在用其他软件做的): 遇到的问题如下: 1.图片作为背景时怎样才能打印出背景(身份证模板)? 2.身份证阅读器出来的图片是bmp格式,且有白色背景,在叠加时要把白色背景去掉? 我做成网页时可用CSS 中的叠加 darken效果实现, foxtable中的高级报表或窗口中怎样实现呢? |
|||||
-- 作者:有点蓝 -- 发布时间:2016/11/21 10:42:00 -- 1、专业报表可以通过添加水印的方式加背景:http://www.foxtable.com/webhelp/scr/1198.htm 窗口打印,添加一个图片控件放置图片,置于最低层,注意不要把其它要打印的控件拖入图片框里,会打印不了的 2、把白色背景去掉这个比较麻烦需要用到图像处理
|
|||||
-- 作者:riancel -- 发布时间:2016/11/21 11:28:00 -- 那在foxtable专业报表是否有图片处理的内容呢? 在html中可以直接在图片的img中加入CSS混合模式就可以弄为加深混合效果。
|
|||||
-- 作者:有点蓝 -- 发布时间:2016/11/21 12:02:00 -- 狐表没有这方面图像处理帮助。 参考下下面代码自己改改,不过注意背景必须是纯白色(255,255,255),不然处理不了 Dim pic As WinForm.PictureBox = e.Form.Controls("PictureBox1") try Dim SourceBitmap As Bitmap = pic.Image Dim ForOutBitmap As new Bitmap(SourceBitmap) Dim bmpDATA = new Imaging.BitmapData() bmpDATA = ForOutBitmap.LockBits(new Rectangle(0, 0, SourceBitmap.Width - 1, SourceBitmap.Height - 1), Imaging.ImageLockMode.ReadOnly, Imaging.PixelFormat.Format32bppArgb) Dim BTS(bmpDATA.Stride * bmpDATA.Height + 1) As Byte System.Runtime.InteropServices.Marshal.Copy(bmpDATA.Scan0, BTS, 0, BTS.Length - 1) Dim tmpValue As Byte For i As Integer = 0 To BTS.Length - 4 Step 4 If BTS(i) = 255 And BTS(I + 1) = 255 And BTS(I + 2) = 255 BTS(I + 3) = tmpValue End If Next System.Runtime.InteropServices.Marshal.Copy(BTS, 0, bmpDATA.Scan0, BTS.Length - 1) ForOutBitmap.UnlockBits(bmpDATA) pic.Image = ForOutBitmap catch ex As Exception msgbox(ex.message) End try |
|||||
-- 作者:有点青 -- 发布时间:2016/11/21 12:15:00 -- 参考
http://www.foxtable.com/webhelp/scr/1482.htm
|