Board logo

标题: [其他] 批处理窗口显示图片[指定位置]Picshow.exe [打印本页]

作者: caruko    时间: 2011-4-25 22:44     标题: 批处理窗口显示图片[指定位置]Picshow.exe

该工具已更新,增加了很多功能。见下面链接。
http://bbs.bathome.net/thread-12498-1-1.html



Picshow.exe
大小:358k
au3编写
功能:在CMD(或别的)窗口中显示图片,调用GDI实现。

使用方法
  1. picshow [#]title picfile1*x*y picfile2*x*y ...  
  2. title    -  cmd窗口标题,只需标题中的几能够识别的字符即可,如"记事本 - 未命名",使用"记事本"或者"未命名"都可以;另,也可以是别的窗口,如WEB。
  3. picfile -  图片文件路径,当前路径只需写文件名,其它路径需使用全路径。目前支持jpg,bmp,gif(只显示第一帧)。
  4. x        -  窗口的横坐标(像素点),并非屏幕桌面坐标。  
  5. y        -  窗口的纵坐标(像素点),并非屏幕桌面坐标。
  6. #       -  在title前加#号,picshow会清除窗口中的已显示的内容。包括文字,图片。
  7. Picshow 按照参数顺序依次显示图片,如果图片位置重叠,先显示的在下方。
  8. 使用方法如:
  9. picshow cmd 1.jpg*100*100  2.jpg*200*200         在cmd窗口中100*100的位置显示图片1.jpg,然后在200*200位置显示2.jpg。 不能更改显示大小,需PS处理好。
复制代码
附件太大 =.= 350K,附上AU3代码得了,有需要的可自己编译算了。 也可联系我取得[email]caruko@qq.com[/email]。
  1. #AutoIt3Wrapper_Change2CUI=y
  2. #NoTrayIcon
  3. #include <GUIConstantsEx.au3>
  4. #include <GDIplus.au3>
  5. Opt("WinTitleMatchMode", 2)
  6. If Not @Compiled Then
  7. MsgBox(0, "", "这是控制台程序,请在CMD下运行!" & @CRLF)
  8. Exit -1
  9. EndIf
  10. If $CmdLine[0] < 2 Then
  11. ConsoleWriteError("Picshow title [picfile*x*y]..." & @CRLF)
  12. Exit -1
  13. EndIf
  14. Global $Title,$hwnd,$str,$hG,$ags,$hGraphic,$clear=False
  15. If StringLeft($CmdLine[1],1) = "#" Then
  16. $clear=True
  17. $Title=StringTrimLeft($CmdLine[1],1)
  18. Else
  19. $Title=$CmdLine[1]
  20. EndIf
  21. $ags=$CmdLine[0]-2
  22. Dim $hGraphic[$CmdLine[0]][3]
  23. For $i=0 To $ags
  24. $str=StringSplit($CmdLine[$i+2],"*")
  25. If $str[0] <> 3 Then
  26. ConsoleWriteError("参数格式错误!如: a.jpg*100*200" & @CRLF)
  27. Exit
  28. EndIf
  29. $hGraphic[$i][0]=$str[1]
  30. $hGraphic[$i][1]=$str[2]
  31. $hGraphic[$i][2]=$str[3]
  32. Next
  33. $hwnd=WinGetHandle($Title)
  34. If Not $hwnd <> "" Then
  35. ConsoleWriteError("没有该标题的窗口!" & @CRLF)
  36. Exit
  37. EndIf
  38. _GDIPlus_Startup()
  39. $hG = _GDIPlus_GraphicsCreateFromHWND ($hwnd)
  40. If $clear Then _GDIPlus_GraphicsClear($hG)
  41. For $i=0 To $ags
  42. If Not _GDIPlus_GraphicsDrawImage ($hG, _GDIPlus_BitmapCreateFromFile($hGraphic[$i][0]), $hGraphic[$i][1], $hGraphic[$i][2]) Then
  43. ConsoleWriteError("第"&$i&"对参数有误:"&$hGraphic[$i][0]&" "&$hGraphic[$i][1]&" "&$hGraphic[$i][2] & @CRLF)
  44. EndIf
  45. Next
  46. _GDIPlus_GraphicsDispose ($hG)
  47. _GDIPlus_ShutDown ()
  48. $hGraphic=""
  49. Exit
复制代码

作者: zfkzp    时间: 2011-5-1 22:50

没人顶?帮顶!看玩笑,这么好的东西,竟然没人顶!
作者: wangxiulin    时间: 2011-5-14 08:27

顶...我来帮你顶...




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2