Foxtable(狐表)用户栏目专家坐堂 → [求助]关于painter窗口画图问题


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

主题:[求助]关于painter窗口画图问题

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


加好友 发短信
等级:一尾狐 帖子:409 积分:3022 威望:0 精华:0 注册:2012/1/19 10:11:00
[求助]关于painter窗口画图问题  发帖心情 Post By:2014/3/24 15:43:00 [只看该作者]


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

如图所示,我在画二维码图片的时候,长宽都定义好是10 ,10,应该是个正方形,旁边的白色边缘怎么多出来的,如何去掉呢?

 

测试:窗口是“电子照片加二维码”,发布后,首先在特种载体表的第一条记录里的数字档案字段(图片格式)里添加三张图片,测试图片已经在压缩包里,然后在目录打印菜单下有个添加二维码的按钮,按一下,打印前置,添加。

 


 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:萧山区特种载体一体化管理系统.rar


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/24 15:49:00 [只看该作者]

就不能做个简单的例子来展示问题吗? 也许是没有拉伸

设置
rm.Style.ImageAlign.StretchHorz = True 看看

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


加好友 发短信
等级:一尾狐 帖子:409 积分:3022 威望:0 精华:0 注册:2012/1/19 10:11:00
  发帖心情 Post By:2014/3/25 9:01:00 [只看该作者]

        Dim p As WinForm.Painter = e.Form.Controls("Painter1")
        Dim g As Graphics = p.Graphics

        g.DrawImage(getImage(projectpath & "电子照片\" & fn & ".jpg"),0,0,800,600)
        g.DrawImage(bar.GetImage,690,480,100,100)
        g.DrawImage(getImage("archives.ico"),725,515,26,30)
        Dim fnt As New Font("黑体",10,FontStyle.Bold)
        g.DrawString(fn,fnt,Brushes.Black,670,585)
        p.Repaint()
        p.save(projectpath & "电子照片\" & fn & ".jpg")

 

能不能不用画板实现,我发现图片没办法适应画板,画板大小固定的话,图片画上去会失真的。 

 

        Dim g As Graphics = p.Graphics

        g.DrawImage(getImage(projectpath & "电子照片\" & fn & ".jpg"),0,0,800,600)
        g.DrawImage(bar.GetImage,690,480,100,100)
        Dim rm As New prt.RenderImage '定义一个图片对象
        rm.Image = GetImage("archives.ico") '设置图片
        rm.Style.ImageAlign.StretchHorz = True
        g.DrawImage(rm.Image,725,515,26,30)
        Dim fnt As New Font("黑体",10,FontStyle.Bold)
        g.DrawString(fn,fnt,Brushes.Black,670,585)
        p.Repaint()
        p.save(projectpath & "电子照片\" & fn & ".jpg")

 

 

我拉伸了二维码,没有效果。

[此贴子已经被作者于2014-3-25 9:25:23编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/25 9:18:00 [只看该作者]

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
p.Width
p.Height
大小是可以设置的,你设置为图片大小即可.

 回到顶部
帅哥哟,离线,有人找我吗?
云淡风轻
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:3022 威望:0 精华:0 注册:2012/1/19 10:11:00
  发帖心情 Post By:2014/3/25 9:29:00 [只看该作者]

设置成图片大小的话,如果图片换一张不一样大小的也有这个问题,批量图片也是,由于原始图片大小都不一样,画板固定大小后,有些图片只能部分显示。
[此贴子已经被作者于2014-3-25 9:29:53编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/25 9:30:00 [只看该作者]

参考4楼,根据现实的图片,动态设置大

 回到顶部
帅哥哟,离线,有人找我吗?
云淡风轻
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:3022 威望:0 精华:0 注册:2012/1/19 10:11:00
  发帖心情 Post By:2014/3/25 9:31:00 [只看该作者]

哦,意思我了解了,是获取图片大小赋值给面板高宽。

 回到顶部
帅哥哟,离线,有人找我吗?
云淡风轻
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:3022 威望:0 精华:0 注册:2012/1/19 10:11:00
  发帖心情 Post By:2014/3/25 10:53:00 [只看该作者]

版主,我做了一个精简案例,测试图片也在包里,在案卷库的第一行的数字档案列(图片型)加三张图片,会自动保存到项目的电子照片文件夹下,然后可以通过添加二维码窗口对其批量添加二维码。

现在是画板只能动态一次,for循环无法多次调整画板大小,第二是二维码无法拉伸,边缘出现白色。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:案例.rar

[此贴子已经被作者于2014-3-25 10:53:02编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/25 11:16:00 [只看该作者]

完全没办法理解你的意思,你这样做意义何在?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/25 11:17:00 [只看该作者]

首先画板放的是原本图片,和二维码有空白八竿子打不着
其次,你每次循环为画板赋值新的,当然最终显示的效果是最后赋值的那次的效果.

 回到顶部
总数 14 1 2 下一页