130*130后也会有空白的,感觉他的二维码生成就是矩形的,和商品上的二维码是正方形不一样。就算把他设置成100*130这样的矩形,还是有边缘白色,无法自适应。一张照片加上二维码,二维码是这样的样子看着也不对。现在二维码里信息少放点,不影响扫描。
For i As Integer = 0 To Cint(r("文件件数"))-1 '用于获取文件夹里的照片,每循环一次,对一张照片打上二维码
If r("文件件数") = 1 Then
fn = r("档号")
Else If r("文件件数") > 1 And r("文件件数") < 10 Then
fn = r("档号") & "-0" & i+1
Else
fn = r("档号") & i+1
End If
If fn <> "" And filesys.FileExists(projectpath & "电子照片\" & fn & ".jpg") = True Then
Dim route As String = projectpath & "电子照片\" & fn & ".jpg" '原始照片存放路径
Dim zwidth = getImage(route).width '原始照片宽
Dim zheight = getImage(route).height '原始照片高
Dim p As WinForm.Painter = e.Form.Controls("Painter1")
p.Width = zwidth '原始照片宽动态赋给画板宽
p.Height = zheight '原始照片高动态赋给画板高
Dim g As Graphics = p.Graphics
g.Clear(Color.White)
g.DrawImage(getImage(route),0,0)
g.DrawImage(bar.GetImage,(zwidth-110),(zheight-120),100,100)
Dim rm As New prt.RenderImage '定义一个图片对象
rm.Image = GetImage("archives.ico") '设置图片
rm.Style.ImageAlign.StretchHorz = True '水平拉伸
g.DrawImage(rm.Image,(zwidth-75),(zheight-85),30,30)
Dim fnt As New Font("黑体",10,FontStyle.Bold) '黑体,10号,加粗
g.DrawString(fn,fnt,Brushes.Black,(zwidth-120),(zheight-20))
p.Repaint()
p.save(route)
End If
Next
我这里根据每条记录的文件件数做循环,按理是每循环一次画板就会自动调整一次然后保存一张图片。但后两次循环没有效果。
我测试过了,用messagebox,显示出来是正确赋值的,但是画板大小没有实际调整,只第一次动态调整成功。
[此贴子已经被作者于2014-3-25 13:24:23编辑过]