以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  有没有办法 把专业报表生成的页面白色底 处理掉呢 让它在预览时成为透明图片  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=149426)

--  作者:李孝春
--  发布时间:2020/5/1 9:47:00
--  有没有办法 把专业报表生成的页面白色底 处理掉呢 让它在预览时成为透明图片
有没有办法 把专业报表生成的页面白色底  处理掉呢  让它在预览时成为透明图片  不然遮挡了部分主图内容

当前代码如下:
Dim doc As New PrintDoc \'定义一个报表
doc.PageSetting.Width = 100 \'纸张宽度为100毫米
doc.PageSetting.Height = 60
Doc.PageSetting.LeftMargin = 10 \'设置左边距
Doc.PageSetting.RightMargin = 10 \'设置右边距
Doc.PageSetting.TopMargin = 5 \'设置上边距
Doc.PageSetting.BottomMargin = 5 \'设置下边距
doc.AutoRotate = False \'禁止自动旋转打印内容
Dim rt As New prt.RenderTable() \'定义一个表格对象
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中
rt.Style.TextAlignVert = prt.AlignVertEnum.Center \'垂直居中
rt.Cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.Left \'所有文本内容靠左对齐
\'rt.Cols(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'唯独第一列内容居中
rt.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'禁止被垂直分割
rt.Width = "Parent.Width" \'对象宽度等于页面宽度
rt.Height = "Parent.Height" \'对象高度等于页面高度
Dim rs As New prt.RenderText() \'定义一个文本对象
rs.Text = "照片音视频标签" \'设置文本对象的内容
rs.Style.Font = New Font("宋体", 14 , FontStyle.Bold) \'设置文本对象的字体
rs.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'文本内容水平居中
doc.Body.Children.Add(rs) \'将文本对象加入到表格中

doc.Body.Children.Add(rt) \'将表格对象加入到报表中
rt.Style.GridLines.All = New prt.LineDef \'将网格线类型设为默认类型
rt.Height = 40 \'
rt.Rows.Count = 5
rt.Cols.Count = 2
rt.Cols(0).Width = 20
rt.Cells(0,0).text = "时间" 
rt.Cells(0,1).text = Format(Date.today ,"yyyy年MM月dd日")
rt.Cells(1,0).text = "地点" 
rt.Cells(1,1).text = "珠藏" 
rt.Cells(2,0).text = "人物" 
rt.Cells(2,1).text ="曹刚"
rt.Cells(3,0).text = "说明" 
rt.Cells(3,1).text = "2020年4月30日,曹刚到珠藏镇新兴村开展生态环境保护工作调研!" 
rt.Cells(3,1).Style.TextAlignHorz = prt.AlignHorzEnum.Left 
rt.Cells(4,0).text = "作者" 
rt.Cells(4,1).text ="曹刚"
rt.Rows(3).Height=20

\'doc.Preview
doc.SaveImage("c:\\data\\abc.png")
Dim imgback As image = getimage(ProjectPath & "Images\\兰花.png")   \'主图
Dim bmp As new bitmap(imgback.width, imgback.height)
Dim g As System.Drawing.Graphics  = System.Drawing.Graphics.FromImage(bmp)
g.DrawImage(imgback, 0, 0, imgback.Width, imgback.Height) \'绘制主图\'
Dim img =  getimage("c:\\data\\abc_page1.png")
Dim x As Integer = imgback.Width - 200 \'二维码图距离主图左边距
Dim y As Integer = imgback.height - 160 \'二维码图距离主图上边距
g.DrawImage(img, x, y, 200, 160)     \'合并图片
bmp.Save(ProjectPath & "Images\\" & Date.Today & "test05.jpg") \'保存
bmp.dispose \'释放资源\'

实现的效果图如下:

图片点击可在新窗口打开查看此主题相关图片如下:2020-04-30test05.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2020/5/1 10:04:56编辑过]

--  作者:有点酸
--  发布时间:2020/5/1 19:44:00
--  
我测试就是透明的:


Dim doc As New PrintDoc \'定义一个报表对象
Dim rm As New prt.RenderImage \'定义一个图片对象
rm.Image = GetImage("EP1.BMP") \'设置图片
rm.Style.Borders.All = New prt.Linedef(1, Color.Red) \'设置边框
doc.Body.Children.Add(rm) \'将图片对象加入报表

Dim rt As New prt.RenderTable() \'定义一个表格对象
rt.Style.GridLines.All = New prt.Linedef \'设置网格线
\'下面的代码向表格中填入值
For r As Integer = 0 To 5
    For c As Integer = 0 To 5
        Dim rx As New prt.RenderText \'定义一个文本对象
        rx.Text = r & "," & c \'为文本对象设置内容
        rt.Cells(r, c).RenderObject = rx \'将文本对象放置在单元格中
    Next
Next
rt.x = 50
rt.y = 50
doc.Body.Children.Add(rt) \'将文本对象加入到报表

Doc.Preview() \'预览

--  作者:李孝春
--  发布时间:2020/5/2 18:00:00
--  回复:(有点酸)我测试就是透明的:Dim doc As New P...
谢谢  你的这个思路是直接将图片导入到专业报表中  然后再用专业报表生成图片 

图片点击可在新窗口打开查看此主题相关图片如下:123.png
图片点击可在新窗口打开查看

现在我想做的是 先生成专业报表,然后再把专业报表的的内容  叠加再图片上  不晓得有没有更好的办法呢?
[此贴子已经被作者于2020/5/2 18:00:27编辑过]

--  作者:有点蓝
--  发布时间:2020/5/5 11:54:00
--  
专业报表保存后的图片无法透明,只能是直接在图片里自行绘制表格