vbscript实现在图片上增加文字
想在QTP里用vbscript实现:读取已有的图片,并在图片的特定位置上增加一段文字说明。最好有代码辅助说明。呵呵,谢谢啦~~~ 图片上增加文字,有这功能吗?
关注下.... :lol 很好奇! 光靠VBS 好像不行
回复 1# 的帖子
具体代码如下:Function JPG_DrawEllipseAndString(filename,str,leftlen,toplen,rightlen,bottomlen)'******************************
' Description: Add note to a picture at specific area
' Precondition:Install tool aspjpeg
' Input: filename---Picture path
' str--------String to write
' leftlen----left lenth to original point
' toplen-----top lenth to original point
' rightlen---right lenth to original point
' bottomlen-bottom lenth to original point
' Output: None
' Example: JPG_DrawEllipseAndString("C:\org.jpg","LantianWei",100,200,500,400)
' Tester: LantianWei
' Date: Dec 23, 2007
'******************************
Dim Jpeg,tmpleft,tmptop,tmpright,tmpbottom
Set Jpeg=CreateObject("Persits.Jpeg")
Jpeg.Open filename
Jpeg.Canvas.Pen.Color=vbRed
Jpeg.Canvas.Pen.Width=2
Jpeg.Canvas.Brush.Solid=False '是否加粗
Jpeg.Canvas.Ellipse leftlen,toplen,rightlen,bottomlen '画椭圆
If leftlen>Jpeg.OriginalWidth/2 Then
tmpleft=leftlen
tmptop=toplen+(bottomlen-toplen)/2
If toplen+(bottomlen-toplen)/2>Jpeg.OriginalHeight/2 Then
tmpright=leftlen-100
tmpbottom=toplen+(bottomlen-toplen)/2-100
Else
tmpright=leftlen-100
tmpbottom=toplen+(bottomlen-toplen)/2+100
End If
Else
tmpleft=rightlen
tmptop=toplen+(bottomlen-toplen)/2
If toplen+(bottomlen-toplen)/2>Jpeg.OriginalHeight/2 Then
tmpright=rightlen+100
tmpbottom=toplen+(bottomlen-toplen)/2-100
Else
tmpright=rightlen+100
tmpbottom=toplen+(bottomlen-toplen)/2+100
End If
End If
Jpeg.Canvas.DrawLine tmpleft,tmptop,tmpright,tmpbottom
Jpeg.Canvas.Font.Color=vbRed '红颜色
Jpeg.Canvas.Font.Bold=True '是否加粗
Jpeg.Canvas.Print tmpright,tmpbottom,str
Jpeg.Canvas.DrawBar 0,0,Jpeg.OriginalWidth,Jpeg.OriginalHeight
Jpeg.Save filename
Jpeg.Close
Set Jpeg=Nothing
End Function在此应该感谢一位朋友,kernzhang,原创是他,曾经他做了个框架方面的视频,而上面有一小部分代码在视频上出现了,再感谢另外一位朋友,是他很有心,硬是把那小段代码从视频上抄下来的。而我做的只是进行了修补,完善,呵呵。。。以上代码还是有不足的地方,有心的朋友可以进行完善,然后再分享给大家。:victory:
[ 本帖最后由 lantianwei 于 2009-7-20 12:45 编辑 ]
回复 5# 的帖子
谢谢分享回复 5# 的帖子
我在调试过程中:无法创建Persits.Jpeg对象。。。运行脚本需要什么条件..(ASPJPEG组件?)
[ 本帖最后由 fei.ge 于 2009-7-9 00:15 编辑 ]
回复 5# 的帖子
此人不是一般的强,属于禽兽级别的。回复 7# 的帖子
' Precondition:Install tool aspjpeg函数有前置条件的,需要先安装第三方软件ASPJPEG
回复 8# 的帖子
要形容,词也用好听点的阿!:Q 呵呵,这个真的很强大!!!回复 9# 的帖子
装了aspjpeg组件试了下,很强大…… Function JPG_DrawEllipseAndString(filename,str,leftlen,toplen,rightlen,bottomlen)End Function
执行语句:
JPG_DrawEllipseAndString("C:\org.jpg","LantianWei",100,200,500,400)
结果出错:
Run Error
The test run cannot continue due to a syntax error.
调用过程(sub)时不能使用括号
details<<
Line (56): "JPG_DrawEllipseAndString ("C:\org.jpg","LantianWei",100,200,500,400)".
执行语句:
JPG_DrawEllipseAndString "C:\org.jpg","LantianWei",100,200,500,400
去掉括号可运行
调用函数什么时间可以加括号,什么时间不加括号? 跟参数有关吗? 1. CALL JPG_DrawEllipseAndString("C:\org.jpg","LantianWei",100,200,500,400)
2.JPG_DrawEllipseAndString "C:\org.jpg","LantianWei",100,200,500,400 ASPJPEG 简介
http://baike.baidu.com/view/514985.htm 原帖由 lantianwei 于 2009-7-9 11:49 发表 http://bbs.51testing.com/images/common/back.gif
1. CALL JPG_DrawEllipseAndString("C:\org.jpg","LantianWei",100,200,500,400)
2.JPG_DrawEllipseAndString "C:\org.jpg","LantianWei",100,200,500,400
但是:
function 定义的,而非sub 不错,调试可以通过。提个新需求,不知道可不可以针对JPEG图片是的一个特定的对象写文字呢,比如说对JEPG上的一个图片作说明。呵呵
回复 17# 的帖子
在调用的时候 动态获得你要标识的对象的坐标就可以了 然后传进该函数 关注!调试一下! 学习
页:
[1]
2