致力于软件自动化测试的研究和探索

[QTP]在图片上加标注

上一篇 / 下一篇  2009-07-12 20:21:16 / 个人分类:蓝天测试

   最近在网上看到一些朋友在寻找关于在图片中加标注的脚本,关于这些脚本其实在07年就有人写出,主要是通过调用第三方工具ASPJPEG的COM来实现。以下是具体代码:
)J"p8NXj-x!a0
Function JPG_DrawEllipseAndStrin(filename,str,leftlen,toplen,rightlen,bottomlen)
2u0npb&vr7KW&\&S*P0'******************************
4K3c.OXLd)` G)t0' Description:   Add note to a picture at specific area51Testing软件测试网t9p`wOS.al%~
' Precondition:  Install tool aspjpeg
-J O+KCK@8Xm0' Input:         filename---Picture path
^6E!Y2f;n:T i0'                str--------String to write51Testing软件测试网:F3i6PEa3Uw
'                leftlen----left lenth to original point51Testing软件测试网4[9n#}rO(X[
'                toplen-----top lenth to original point
O1`!V+JT!nb0'                rightlen---right lenth to original point
4{i(Q!ct?r0'                bottomlen-bottom lenth to original point
$kJZr+O.aUn8J.v x0' Output:        None
IA ss&U.}]$\ Ai0' Example:       JPG_DrawEllipseAndString("C:\org.jpg","LantianWei",100,200,500,400)
?x3B3K,C0' Tester:        LantianWei(wan1314sq@126.com51Testing软件测试网6w;B9y*iWcp*{ k*L(SQ
' Date:          Dec 23, 200751Testing软件测试网)c v5\H+}2^R
'******************************51Testing软件测试网0V*k/MIY^
        Dim Jpeg,tmpleft,tmptop,tmpright,tmpbottom
yDW*[+WG!m0        Set Jpeg=CreateObject("Persits.Jpeg")51Testing软件测试网5E,]6a})u7Ug y|^
        Jpeg.Open filename
l:GBjrG0        Jpeg.Canvas.Pen.Color=vbRed 
:y"yt+W_m0        Jpeg.Canvas.Pen.Width=251Testing软件测试网BG7T*{z y*{
        Jpeg.Canvas.Brush.Solid=False '是否加粗51Testing软件测试网~#t BUH9V{
        Jpeg.Canvas.Ellipse leftlen,toplen,rightlen,bottomlen '画椭圆
'lH8F#t(cYM;Rk0       
;JB;Ym(l y!H n0        If leftlen>Jpeg.OriginalWidth/2 Then
Xi{3f"e$r2Az0                tmpleft=leftlen
(Vyi1i3r unXD0                tmptop=toplen+(bottomlen-toplen)/2
$C4SE#n-I1@(ylHF0                If toplen+(bottomlen-toplen)/2>Jpeg.OriginalHeight/2 Then
zh1S-Lt Ol|0                        tmpright=leftlen-100
`1y5A`DR5u0                        tmpbottom=toplen+(bottomlen-toplen)/2-10051Testing软件测试网6f*blfP/{
                Else
G(Q B"Be%`f7lJ0                        tmpright=leftlen-100
u G*~/@x7\/o l0                        tmpbottom=toplen+(bottomlen-toplen)/2+10051Testing软件测试网 ^3CF#f0S#v%A$MC
                End If51Testing软件测试网$ZpK7d%WU;r V6w"h
        Else
2w$Z^Bwj0                tmpleft=rightlen51Testing软件测试网.Hxv,g,S7r4Q L$S
                tmptop=toplen+(bottomlen-toplen)/2
:stW5f_f2r0                If toplen+(bottomlen-toplen)/2>Jpeg.OriginalHeight/2 Then51Testing软件测试网bYJbg
                        tmpright=rightlen+100
i:|Ho1F)} s n0                        tmpbottom=toplen+(bottomlen-toplen)/2-10051Testing软件测试网.\L.vXq"J#j
                Else51Testing软件测试网G#Nb6w|q%|)b O |
                        tmpright=rightlen+10051Testing软件测试网V"b[%|r7w%Ow$D
                        tmpbottom=toplen+(bottomlen-toplen)/2+10051Testing软件测试网3~;`}y1~GZ@
                End If
b(dI6Bga0        End If
K2fp;[Oc]0  51Testing软件测试网GTj,F ibX
        Jpeg.Canvas.DrawLine tmpleft,tmptop,tmpright,tmpbottom
"x a?-x ntw0        Jpeg.Canvas.Font.Color=vbRed   '红颜色51Testing软件测试网Kw1e}&_ f{
        Jpeg.Canvas.Font.Bold=True '是否加粗51Testing软件测试网+p5ia#FwZ4I!H'ys
        Jpeg.Canvas.Print tmpright,tmpbottom,str51Testing软件测试网 Q:X V'T;fRaQ[P
        Jpeg.Canvas.DrawBar 0,0,Jpeg.OriginalWidth,Jpeg.OriginalHeight51Testing软件测试网U!g{s {
        Jpeg.Save filename
JRe V+ES"_0        Jpeg.Close
J.vd};J0        Set Jpeg=Nothing51Testing软件测试网oiM A |U%L]@
End Function
 
     效果图如下:

Qm d*hDW051Testing软件测试网$TF^aZPk%V
 

;l6?2h5wY,Bi|!g0 51Testing软件测试网 PA_0t:ak1E3vB6{

    在此应该感谢一位朋友,kernzhang,原创是他,曾经他做了个框架方面的视频,而上面有一小部分代码在视频上出现了,再感谢另外一位朋友,是他很有心,硬是把那小段代码从视频上抄下来的。而我做的只是进行了修补,完善,呵呵。。。以上代码还是有不足的地方,有心的朋友可以进行完善,然后再分享给大家。
~"iCGd&B(o0

k B5s;O0Z K2s"F{0 51Testing软件测试网&W(Y T3jm:Y8GR

    更多精彩尽在www.lantianwei.com

u'No n)K9[+e0

TAG: QTP

 

评分:0

我来说两句

Open Toolbar