Foxtable(狐表)用户栏目专家坐堂 → 未将对象引用设置到对象的实例


  共有2856人关注过本帖树形打印复制链接

主题:未将对象引用设置到对象的实例

帅哥哟,离线,有人找我吗?
jinzhengbe
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
未将对象引用设置到对象的实例  发帖心情 Post By:2014/9/18 5:13:00 [显示全部帖子]

环境: d:as 目录下 有很多图片,图片的名字 对应  newtrj 这个表的 cn_name列(cn_name只是前缀,例如图片名为11.jpg  cn_name =11)

目的:  把as目录下 图片名能和cn_name列相同的图片 打上二维码。

 

用下面这段代码执行了,有的时候可以顺利执行,有的时候不可以,不知道是什么原因,请各位给指点下。 非常感谢

 

 

Dim Bar As New BarCodeBuilder
    Dim doc As New PrintDoc
    Dim rt As new prt.RenderText
 Bar.Symbology = Barpro.Symbology.QRCode
    Bar.BarRatio =0.5
    Bar.BarWidth = 1
    Bar.BarHeight = 1
    Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight


For Each r As DataRow In DataTables("newtrj").Select("id> 0")   '从数据表中提取数据
        bar.Code = r("qrcord")
              Dim fn As String = ""
                    fn = "(1):" & r("cn_name")
                    If fn <> "" And filesys.FileExists("d:\as\" & fn & ".jpg") = True Then                  
                    Dim route As String ="d:\as\" & fn & ".jpg" '原始照片存放路径
                    Dim route2 As String ="d:\qrcord\" & fn & ".jpg"
                    Dim zwidth = getImage(route).width '原始照片宽
                    Dim zheight = getImage(route).height '原始照片高
                   
                    Dim p As WinForm.Painter =e.Form.CreateControl("p", ControlTypeEnum.Painter)
                    p.Width = zwidth '原始照片宽动态赋给画板宽
                    p.Height = zheight '原始照片高动态赋给画板高
                    Dim g As Graphics = p.Graphics
                    g.Clear(Color.White)
                    g.DrawImage(getImage(route),3,3,zwidth,zheight)
                    g.DrawImage(bar.GetImage,(zwidth-10),(zheight-1800),250,250)
                    Dim rm As New prt.RenderImage '定义一个图片对象
                    rm.Image = GetImage("archives.ico") '设置图片
                    rm.Style.ImageAlign.StretchHorz = True '水平拉伸
                    g.DrawImage(rm.Image,(zwidth-50),(zheight-50),30,30) '二维码图片位置
                    Dim fnt As New Font("黑体",20,FontStyle.Bold) '黑体,10号,加粗
                    g.DrawString(fn,fnt,Brushes.Black,(zwidth-280),(zheight-200))
                    p.Repaint()
                    Dim img As Image = p.Image
                     p.Save(route2)
                    img.save(route2)
      End If                       
            Next
    MessageBox.Show("全部添加成功!", "提示")


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhengbe
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2014/9/18 9:07:00 [显示全部帖子]

 

[此贴子已经被作者于2014-9-24 10:22:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhengbe
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2014/9/18 9:24:00 [显示全部帖子]

对应的文件夹

c: 图片 (随便放些图片进去就可以)

然后按照按钮的顺序,从左到右边 按就行

 

d:下的 as ,qrcord,shuiyin,taobo 这些目录是程序自动生成的,

如果有问题直接人工添加就可以

 

 

程序的原理:

1 从c:图片下 读取图片 并添加到数据库内(导入图片)  同时把图片用 cn_name 作为文件名 保存到 d: as目录下

2 保存 按钮 (从as文件夹读取数据, 并给图片加上水印,同时保存newtrj 这个表

3 按3 (从as 文件夹图片图片文件信息,并对应 cn_name ,把和cn_name的图片打上二维码的图片)现在问题就出在这个按钮上

 

真是非常感谢啊啊~~~~


 回到顶部