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

[技术讨论] vbs如何新建一个空白图片文件?(已解决)

[复制链接]
发表于 2023-1-5 07:09:50 | 显示全部楼层 |阅读模式
本帖最后由 窄口牛 于 2023-1-5 20:56 编辑

vbs可以通过wia绘制图片,但没找到怎么弄空白的,就像win右键的新建一张空白bmp图片那样。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2023-1-5 09:47:50 | 显示全部楼层
bat:copy nul 1.bmp
发表于 2023-1-5 10:09:31 | 显示全部楼层
回复 1# 窄口牛
  1. CreateObject("WSCript.Shell").Run "cmd /c cd.>New.bmp"
复制代码
 楼主| 发表于 2023-1-5 10:25:49 | 显示全部楼层
这些不合法,文本改后缀,想要合法的图片文件。
发表于 2023-1-5 11:01:04 | 显示全部楼层
什么情况下会有这样的需求呢,要新建空白图片。
发表于 2023-1-5 13:15:19 | 显示全部楼层
是这个吗
  1. https://learn.microsoft.com/zh-cn/previous-versions/windows/desktop/wiaaut/-wiaaut-shared-samples#create-an-imagefile-object-that-contains-a-blank-page
复制代码
  1. Dim v 'As Vector
  2. Dim Img 'As ImageFile
  3. Dim c 'As Long

  4. c = &hFFFEFFFF 'opaque blue (A=255,R=0,G=0,B=255)
  5. Set v = CreateObject("WIA.Vector")

  6. v.Add c
  7. v.Add c
  8. v.Add c
  9. v.Add c

  10. Set Img = v.ImageFile(2, 2)

  11. Img.SaveFile "123." & Img.FileExtension
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2023-1-5 13:52:24 | 显示全部楼层
这个是两个像素白色的图片,一层说的就是可以建色块图片,而不是空白图片。
发表于 2023-1-5 15:16:50 | 显示全部楼层
回复 7# 窄口牛

哪空文件和空白图片不是一样的吗,都是0字节文件,怎么不合法呀
 楼主| 发表于 2023-1-5 15:20:20 | 显示全部楼层
文件真实格式和后缀一致才是合法,你把文本改个后缀其实还是文本。
发表于 2023-1-5 16:24:27 | 显示全部楼层
用画图程序新建一个BMP,然后转成HEX,再然后放到VBS文件里面。粗暴,但管用。
  1. Dim Date
  2. Date = "424D0EE40000000000003E00000028000000600300001C0200000100010000000000D0E300000000000000000000000000000000000000000000FFFFFF00FFFF"

  3. For i = 0 To 1944
  4.     Date = Date & "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
  5. Next

  6. Dim xmlDoc, node
  7. Set xmlDoc = CreateObject("MSXML2.DOMDocument")
  8. Set node = xmlDoc.CreateElement("binary")
  9. node.DataType = "bin.hex"
  10. node.Text = Date
  11. Dim arrByte
  12. arrByte = node.NodeTypedValue

  13. Dim ado
  14. Set ado = CreateObject("ADODB.Stream")
  15. ado.Type = 1
  16. ado.Open
  17. ado.Write arrByte
  18. ado.SaveToFile "New.BMP", 2
  19. ado.Close

  20. WSH.Echo "Done"
复制代码
发表于 2023-1-5 17:08:11 | 显示全部楼层
回复 9# 窄口牛


    右键新建和改名确实是一样的
发表于 2023-1-5 17:27:27 | 显示全部楼层
回复 4# 窄口牛


你后续需要使用什么软件或代码来处理这个空白bmp文件?
你处理右键新建的空白bmp文件、处理3楼代码创建的空白bmp文件,两种结果能否分别截图发出来看看?

如果需要上传文件,可以用阿里云盘或百度网盘。

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
 楼主| 发表于 2023-1-5 20:55:16 | 显示全部楼层
似乎我的想法有问题,win右键建立的空图像文件和空文本改后缀一样效果,是我的问题。
看样子还是建立一个小的色块文件更为合格一些。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-16 22:03 , Processed in 0.021751 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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