Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共18 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:请教:绘图版的图片调用问题

1楼
yangming 发表于:2011/8/19 11:14:00

e.Form.Controls("Painter1").Image,这个代码,应该是调用此绘图版已绘制好的图形,我现在已在绘图版中插入了一张图片,但是这段代码红字的部分没有反应,请教一下

 

Dim p1 As New Point(p.Width-1,0)
Dim p2 As New Point(0,0)
Dim p3 As New Point(p.Width-1,p.Height-1)

Dim des  As Point()={p1,p2,p3}

 

g.DrawImage(e.Form.Controls("Painter1").Image,des)

2楼
狐狸爸爸 发表于:2011/8/19 11:22:00
是不是指定的位置在绘图板可视范围之外了?
3楼
yangming 发表于:2011/8/19 11:38:00
以下是引用狐狸爸爸在2011-8-19 11:22:00的发言:
是不是指定的位置在绘图板可视范围之外了?

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim g As Graphics = p.Graphics
g.Clear(Color.White)
Dim fn As String = ProjectPath & "27.jpg"
      g.DrawImage(getImage(fn),0,0,300,200)
 p.Repaint()
我是先用这段代码已在绘图版上加了一张图片了,然后用一楼的代码将这张图做水平翻转的,但是一楼的代码没起作用

4楼
狐狸爸爸 发表于:2011/8/19 11:45:00

你这个是重新绘制一个新的图片,对于已经绘制好的图片,是没有效果的。

5楼
yangming 发表于:2011/8/19 11:47:00

我贴上水平翻转的全部代码,贺老师您查一下看看问题出在何处?

 

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim g As Graphics = p.Graphics
 g.Clear(Color.White) '清除

Dim p1 As New Point(p.Width-1,0)
Dim p2 As New Point(0,0)
Dim p3 As New Point(p.Width-1,p.Height-1)
Dim des  As Point()={p1,p2,p3}
g.DrawImage(p.Image,des)
p.Repaint()
e.Form.Controls("Label1").text="这是水平翻转后的图片"

 

加上红字这行后,绘图版上没显示图片,如不加,还是原有的图片没动

6楼
狐狸爸爸 发表于:2011/8/19 12:04:00

惭愧,gdi+我从来不用的,一下子也给不出旋转图片的答案,要查看相关文档才行。

老程比较常用这个,你可以先咨询一下老程。

7楼
yangming 发表于:2011/8/19 12:13:00
我现在的做法是,加载图片按钮中将图片保存在剪贴版中,然后在水平翻转按钮中提取,是可以做翻转了,但是几次一转,图片就模糊了,呵,做一两次还可以。只能先这样吧
8楼
狐狸爸爸 发表于:2011/8/19 12:14:00
翻转前先清除原来的图片,应该就不存在模糊的问题吧。
9楼
yangming 发表于:2011/8/19 12:16:00
以下是引用狐狸爸爸在2011-8-19 12:14:00的发言:
翻转前先清除原来的图片,应该就不存在模糊的问题吧。

我估计是剪贴版保存时的问题,具体原因不清楚

10楼
狐狸爸爸 发表于:2011/8/19 14:23:00
你不用剪贴板,直接用格变量保存要绘制的Image图形更好,或者直接用GetImage函数从文件取得要绘制的图形。
共18 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.