亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > VBScript > 正文

VBS調用Photoshop批量生成縮略圖的代碼

2020-06-26 18:36:00
字體:
來源:轉載
供稿:網友
這篇文章主要為大家分享了通過vbs調用Photoshop批量生成縮略圖,需要的朋友可以參考下
 

模仿騰訊新聞頁,給KingCms添加了新聞頁圖片點播的代碼,代碼要求的圖片點播格式如下:

0###http://www.website.org/UploadFile/123.jpg@@@/small/123.gif@@@8標題一***http://www.website.org/UploadFile/456.jpg@@@/small/456.gif@@@標題二***http://www.website.org/UploadFile/789.jpg@@@/small/789.gif@@@標題三

格式解釋如下:

0代表第0頁出現圖片點播;

http://www.website.org/UploadFile/123.jpg是第一幅原圖地址。/small/123.gif是第一幅縮略圖地址,原圖和縮略圖名字一樣,后綴不一樣,原圖是jpg,縮略圖是gif。標題一是第一幅圖片的說明文字;

第二幅、第三幅圖片格式和第一幅圖一樣;

###、@@@、***為相應的分隔符。

-------------------------------------------------分割線--------------------------------------------------------

開始我是用手工來寫這些圖片格式,發現效率很低,一下午只發布了兩篇新聞,就編寫了相應的VBS腳本。

腳本一:采集新聞圖片,并生成相應的圖片格式代碼

Directory = "原始圖"
Directory = CreateObject("Scripting.FileSystemObject").GetFolder(".").Path & "/" & Directory & "/"

Call DeleteFiles(Directory)

strUrl = InputBox("請輸入網址:")
If strUrl <> "" Then
     Call getImages(strUrl)
End If

Function getImages(strUrl)
     Set ie = WScript.CreateObject("InternetExplorer.Application")
     ie.visible = True
     ie.navigate strUrl
     Do
          Wscript.Sleep 500
     Loop Until ie.ReadyState=4
     Set objImgs = ie.document.getElementById("fontzoom").getElementsByTagName("img")

     strTitles = InputBox("請輸入圖片配字:")
     arrTitles = Split(strTitles, " ")
     strCode = "0###"

     For i=0 To objImgs.length - 1
          If i>0 Then strCode = strCode + "***"
          smallPic = Replace(Mid(objImgs(i).src, InStrRev(objImgs(i).src, "/")+1), "jpg", "gif")
          strCode = strCode + objImgs(i).src + "@@@/small/" + smallPic + "@@@" + arrTitles(i)
          SaveRemoteFile objImgs(i).src
     Next
     ie.Quit
     InputBox "請復制結果:", , strCode
End Function

Sub SaveRemoteFile(RemoteFileUrl)
     LocalFile =  Directory & Mid(RemoteFileUrl, InStrRev(RemoteFileUrl, "/")+1)
     Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
     With xmlhttp
          .Open "Get", RemoteFileUrl, False, "", ""
          .Send
          GetRemoteData = .ResponseBody
     End With
     Set xmlhttp = Nothing
     Set Ads = CreateObject("Adodb.Stream")
     With Ads
          .Type = 1
          .Open
          .Write GetRemoteData
          .SaveToFile LocalFile, 2
          .Cancel()
          .Close()
     End With
     Set Ads=nothing
End Sub

Function DeleteFiles(strFolder)
     Set objFSO = CreateObject("Scripting.FileSystemObject")
     Set objFolder = objFSO.GetFolder(strFolder)
     Set objFiles = objFolder.Files

     For Each objFile in objFiles
          objFile.Delete
     Next

     Set objFSO = Nothing
End Function

腳本二:調用Photoshop批量生成縮略圖

Directory = "原始圖" '原始圖像的文件夾
NewDirectory = "縮略圖" '保存縮小圖的文件夾

Const psDoNotSaveChanges = 2
Const PsExtensionType_psLowercase = 2
Const psDisplayNoDialogs = 3
Const psLocalSelective = 7
Const psBlackWhite = 2
Const psNoDither = 1

limitHeight = 58 '最大高度
ImgResolution = 72 '解析度

Call DeleteFiles(NewDirectory)
Call Convert2Gif(Directory)

Function ReSizeImg(doc)
      rsHeight = doc.height
      Scale = 1.0
      if rsHeight > limitHeight Then
            Scale = limitHeight / (doc.height + 0.0)
            rsWidth = doc.width * Scale
            rsHeight = doc.height * Scale
      End If
      doc.resizeImage rsWidth, rsHeight, ImgResolution, 3
End Function

Function Convert2Gif(Directory)
      Set app = CreateObject( "Photoshop.Application" )
      app.bringToFront()
      app.preferences.rulerUnits = 1 'psPixels
      app.DisplayDialogs = psDisplayNoDialogs

      Set gifOpt = CreateObject("Photoshop.GIFSaveOptions")
      With gifOpt
            .Palette = psLocalSelective
            .Colors = 256
            .Forced = psBlackWhite
            .Transparency = False
            .Dither = psNoDither
            .Interlaced = False
      End With

      Set fso = CreateObject("Scripting.FileSystemObject")
      If Not fso.FolderExists(Directory) Then      
            MsgBox "Photo Directory NOT Exists."
            Exit Function
      End If

      Set objFiles = fso.GetFolder(Directory).Files
      NewDirectory = fso.GetFolder(".").Path & "/" & NewDirectory & "/"
      For Each objFile In objFiles
            If Split(objFile.Name, ".")(1) <> "db" Then
                  Set doc = app.Open(objFile.Path)
                  Set app.ActiveDocument = doc
                  ReSizeImg(doc)
                  doc.SaveAs NewDirectory & Split(objFile.Name, ".")(0) & ".gif", gifOpt, True, PsExtensionType_psLowercase
                  Call doc.Close(psDoNotSaveChanges)
                  Set doc = Nothing
            End If
      Next
      Set app = Nothing
End Function

Function DeleteFiles(strFolder)
      Set objFSO = CreateObject("Scripting.FileSystemObject")
      Set objFolder = objFSO.GetFolder(strFolder)
      Set objFiles = objFolder.Files

      For Each objFile in objFiles
            objFile.Delete
      Next

      Set objFSO = Nothing
End Function
比較了一下,gif縮略圖體積最小,所以就gif縮略圖。關于VBS調用Photoshop,在Photoshop的C:/Program Files/Adobe/Adobe Photoshop CS4/Scripting/Documents目錄下是說明文檔,C:/Program Files/Adobe/Adobe Photoshop CS4/Scripting/Sample Scripts目錄下是示例代碼。如果要生成png縮略圖,可以參考文檔修改腳本相應的代碼即可:

Set pngOpt = CreateObject("Photoshop.PNGSaveOptions")
With pngOpt
      .Interlaced = False
End With

開始打算是調用Set Jpeg = CreateObject("Persits.Jpeg")來生成縮略圖,好處是不用加載龐大的Photoshop,生成縮略圖速度很快,但比起Photoshop圖片質量差了一些,就放棄了。

本來的打算是不保存原圖,直接打開網路圖片,然后直接生成縮略圖到本地。雖然Photoshop可以打開網絡圖片,但在腳本里調用Photoshop打開網絡圖片就不行,只好先保存網絡圖片到本地,然后再生成縮略圖。

其實Photoshop自帶了圖片批處理功能:

窗口->動作->創建新動作->在PS中打開所有你想做的圖片->選擇其中一張圖片,調整大小,另存為gif格式->關閉你已做好的圖片->停止播放/記錄。
文件->自動->批處理->“動作”欄中選你剛剛新創建的動作名稱->點“源”下面的“選擇”選擇你想要處理照片的文件夾->“目標”下面“選擇”另外一個你想保存縮略圖的文件夾->確定。就OK了!

但比起程序來,顯然程序要靈活的多,而且很多批處理效果只能靠程序實現,所以沒有通過錄制動作來生成縮略圖。

生成相應的圖片格式代碼,也可以在地址欄輸入以下JS代碼:

javascript:D=prompt("圖片配字","");E=D.split(" ");A=document.getElementById("fontzoom");B=A.getElementsByTagName("img");C="0###";for(i=0;i<B.length;i++){if(i>0) C+="***";C=C+B[i].src+"@@@/small/"+B[i].src.substring(B[i].src.lastIndexOf("/")+1).replace("jpg","gif")+"@@@"+E[i];}window.prompt("復制",C);void(0);


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品在线观看视频| 欧美刺激性大交免费视频| 日日狠狠久久偷偷四色综合免费| 日本91av在线播放| 日韩高清不卡av| 国产成人综合精品| 亚洲美女动态图120秒| 亚洲精品黄网在线观看| 欧美极品少妇xxxxx| 国产69精品久久久| 黄色成人av网| 色综合久久悠悠| 国产网站欧美日韩免费精品在线观看| 国产91色在线播放| 久久久成人的性感天堂| 欧日韩在线观看| 亚洲国产精品网站| 91日韩在线视频| 国产精品久久久久久中文字| 91久久嫩草影院一区二区| 欧美大片在线看免费观看| 亚洲精品网站在线播放gif| 亚洲精品自拍偷拍| 国产欧美精品一区二区三区介绍| 色噜噜狠狠色综合网图区| 日韩一区二区精品视频| 成人国产精品久久久| 国产亚洲成精品久久| 色一情一乱一区二区| 在线观看欧美日韩国产| 日韩免费黄色av| 亚洲欧美日韩图片| 日韩美女在线播放| 91av在线网站| 日韩久久午夜影院| 日韩精品亚洲元码| 国产日韩欧美夫妻视频在线观看| 国产精品丝袜白浆摸在线| 亚洲精品久久7777777| 亚洲黄页网在线观看| 亚洲国产精彩中文乱码av在线播放| 久久综合国产精品台湾中文娱乐网| 亚洲成人aaa| 国产精品高清免费在线观看| 欧美成人免费一级人片100| 国产精品专区一| 亚洲三级免费看| 国产精品一区二区3区| 久久久精品一区二区三区| 最新亚洲国产精品| 国产精品爽爽ⅴa在线观看| 亚洲国产精品成人一区二区| 日韩精品极品在线观看| 国产日韩精品视频| 国内伊人久久久久久网站视频| 国内偷自视频区视频综合| 国产精品爽爽爽爽爽爽在线观看| 久久精品免费播放| 国产欧美精品xxxx另类| 国产成人精品免高潮在线观看| 97精品一区二区视频在线观看| 亚洲自拍高清视频网站| 亚洲国产毛片完整版| 97视频在线观看免费| 97精品一区二区三区| 国产精品中文字幕在线| 日本久久久久久久久| 亚洲的天堂在线中文字幕| 亚洲免费视频网站| 欧美亚洲视频在线观看| 国产成人激情小视频| 亚洲国内精品在线| 亚洲aⅴ日韩av电影在线观看| 国产精品96久久久久久| 一区二区三区四区视频| 中文字幕亚洲在线| 亚洲美女av电影| 日韩中文字幕在线精品| 欧美www在线| 伦理中文字幕亚洲| 国产精品午夜一区二区欲梦| 欧美成人精品激情在线观看| 日韩一区二区久久久| 亚洲91av视频| 青草青草久热精品视频在线观看| 欧美电影《睫毛膏》| 日韩欧美在线第一页| 亚洲精品中文字幕有码专区| 久久久黄色av| 精品小视频在线| 国产成人精品999| 亚洲人成伊人成综合网久久久| 国产手机视频精品| 久久久久久久久久久国产| www.日本久久久久com.| 亚洲女人天堂色在线7777| 久久精品国产亚洲一区二区| 国产精品久久久久aaaa九色| www日韩中文字幕在线看| 亚洲精品日韩激情在线电影| 免费91麻豆精品国产自产在线观看| 欧美成人精品在线观看| 日韩中文字幕视频在线观看| 亚洲精品在线看| 欧美午夜片欧美片在线观看| 日韩精品福利网站| 97人人模人人爽人人喊中文字| 狠狠躁18三区二区一区| 精品女厕一区二区三区| 91夜夜揉人人捏人人添红杏| 亚洲一区二区三区乱码aⅴ| 性欧美亚洲xxxx乳在线观看| 在线精品91av| 欧美日韩在线免费| 久久亚洲一区二区三区四区五区高| 亚洲天堂精品在线| 日韩av免费在线观看| 久久这里有精品| 亚洲综合社区网| 97在线精品国自产拍中文| 亚洲国产欧美一区二区三区同亚洲| 国产伦精品一区二区三区精品视频| 久久成人人人人精品欧| 日韩在线视频国产| 亚洲欧美日韩第一区| 亚洲性xxxx| 91青草视频久久| 日韩电影第一页| 亚洲国产精品嫩草影院久久| 海角国产乱辈乱精品视频| 国产亚洲视频中文字幕视频| 亚洲激情视频在线观看| 久久精品久久久久电影| 亚洲欧美一区二区激情| 精品国产老师黑色丝袜高跟鞋| 久久久女人电视剧免费播放下载| 国产精品美女久久久免费| 久久精品久久久久久| 91中文精品字幕在线视频| 欧美精品久久久久久久久久| 高清日韩电视剧大全免费播放在线观看| 国产精品久久激情| 欧美日韩国产丝袜另类| 亚洲国产成人在线视频| 久久久久久久久久久91| 国产精品久久久久久久av电影| 欧美日韩在线一区| 欧美国产日韩二区| 欧美日韩一区二区在线播放| 亚洲第一中文字幕| 日本一本a高清免费不卡| 亚州欧美日韩中文视频| 日本道色综合久久影院| 国产精品嫩草视频| 亚洲人成电影在线播放| 久久黄色av网站| 日韩电影视频免费| 欧美一区二区三区……| 91精品国产综合久久香蕉922| 欧美性猛交xxxxx水多| 在线亚洲午夜片av大片| 91精品久久久久久久久| 另类美女黄大片| 午夜精品久久久久久久久久久久久|