找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 40300|回复: 2

[其他] 批处理窗口显示图片[指定位置]Picshow.exe

[复制链接]
发表于 2011-4-25 22:44:49 | 显示全部楼层 |阅读模式
该工具已更新,增加了很多功能。见下面链接。
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代码得了,有需要的可自己编译算了。 也可联系我取得caruko@qq.com

  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
复制代码
发表于 2011-5-1 22:50:07 | 显示全部楼层
没人顶?帮顶!看玩笑,这么好的东西,竟然没人顶!
发表于 2011-5-14 08:27:27 | 显示全部楼层
顶...我来帮你顶...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:12 , Processed in 0.015152 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表