當前位置:首頁 » 圖片知識 » 編程如何批量處理圖片
擴展閱讀
女生和渣男搞笑圖片 2023-08-31 22:07:09
嘻嘻長什麼樣圖片 2023-08-31 22:06:10

編程如何批量處理圖片

發布時間: 2023-03-30 01:18:08

❶ 幾百張圖片為2560*1920,第一張調成709*531,第二張調成926*695 ,像素數據在excel,如何編程批量處理

每一張圖要調成的分辨都不同?你稍微凳粗會點PS的話,裝個按鍵精靈可以拆滑解決,先記錄操作一次,記錄的最後一步刪掉EXCEL第一行的數據就棗御鎮好

但是你要考慮圖案是否按比例縮放這個問題

❷ 如何批量提取圖片文件名後加序號

其實這個簡單,不用編程,
就是先提取文件名,然後灌入電子表,然後加編號
,然後做成每行是,命令,原名,新名的格式,然後輸出,做在BAT文件,執行一下就好

❸ 請問怎麼 才能在EXCEL中把圖片批量並且居中的放在單元格中

可以通過VBA實現,點擊【開發工具】,【Visual Basic】打開VBA編輯器,也可以使用【Alt+F11】組合鍵打開VBA編輯器。雙擊「模塊1」,復制以下代碼。然後插入按鈕,指定宏即可。

代碼如下

SubInsertPic()

'ExcelHomeVBA編程學習與實踐by:看見星光

DimArr,i&,k&,n&,pd&

DimstrPicName$,strPicPath$,strFdPath$,shpAsShape

DimRngAsRange,CllAsRange,RgAsRange,strWhereAsString

'OnErrorResumeNext

'用戶選擇圖片所在的文件夾

WithApplication.FileDialog(msoFileDialogFolderPicker)

If.ShowThenstrFdPath=.SelectedItems(1)Else:ExitSub

EndWith

IfRight(strFdPath,1)<>""ThenstrFdPath=strFdPath&""

SetRng=Application.InputBox("請選擇圖片名稱所在的單元格區域",Type:=8)

'用戶選擇需要插入圖片的名稱所在單元格範圍

SetRng=Intersect(Rng.Parent.UsedRange,Rng)

'intersect語句避免用戶選擇整列單元格,造成無謂運算的情況

IfRngIsNothingThenMsgBox"選擇的單元格範圍不存在數據!":ExitSub

strWhere=InputBox("請輸入圖片偏移的位置,例如上1、下1、左1、右1",,"右1")

'用戶輸入圖片相對單元格的偏移位置。

IfLen(strWhere)=0ThenExitSub

x=Left(strWhere,1)

'偏移的方向

IfInStr("上下左右",x)=0ThenMsgBox"你未輸入偏移方位。":ExitSub

y=Val(Mid(strWhere,2))

'偏移的值

SelectCasex

Case"上"

SetRg=Rng.Offset(-y,0)

Case"下"

SetRg=Rng.Offset(y,0)

Case"左"

SetRg=Rng.Offset(0,-y)

Case"右"

SetRg=Rng.Offset(0,y)

EndSelect

Application.ScreenUpdating=False

Rng.Parent.Select

ForEachshpInActiveSheet.Shapes

'如果舊圖片存放在目標圖片存放范圍則刪除

IfNotIntersect(Rg,shp.TopLeftCell)IsNothingThenshp.Delete

Next

x=Rg.Row-Rng.Row

y=Rg.Column-Rng.Column

'偏移的坐標

Arr=Array(".jpg",".jpeg",".bmp",".png",".gif")

'用數組變數記錄五種文件格式

ForEachCllInRng

'遍歷選擇區域的每一個單元格

strPicName=Cll.Text

'圖片名稱

IfLen(strPicName)Then

'如果單元格存在值

strPicPath=strFdPath&strPicName

'圖片路徑

pd=0

'pd變數標記是否找到相關圖片

Fori=0ToUBound(Arr)

'由於不確定用戶的圖片格式,因此遍歷圖片格式

IfLen(Dir(strPicPath&Arr(i)))Then

'如果存在相關文件

Setshp=ActiveSheet.Shapes.AddPicture(_

strPicPath&Arr(i),False,True,_

Cll.Offset(x,y).Left+5,_

Cll.Offset(x,y).Top+5,_

20,20)

shp.Select

WithSelection

.ShapeRange.LockAspectRatio=msoFalse

'撤銷鎖定圖片縱橫比

.Height=Cll.Offset(x,y).Height-10'圖片高度

.Width=Cll.Offset(x,y).Width-10'圖片寬度

EndWith

pd=1'標記找到結果

n=n+1'累加找到結果的個數

[a1].Select:ExitFor'找到結果後就可以退出文件格式循環

EndIf

Next

Ifpd=0Thenk=k+1'如果沒找到圖片累加個數

EndIf

Next

Application.ScreenUpdating=True

MsgBox"共處理成功"&n&"個圖片,另有"&k&"個非空單元格未找到對應的圖片。"

EndSub

小提示:

1,該段小代碼支持一下圖片格式:

".jpg",".jpeg",".bmp",".png",".gif"

2,圖片的縱橫比是未鎖定的,如需鎖定,可以注釋掉下句代碼:

.ShapeRange.LockAspectRatio=msoFalse

❹ 如何將bmp格式的圖片一次性批量插入Excel的每個的sheet頁里去呢(最好是隔一個sheet一張圖片)

用VBA處尺升搏陵祥理,需編程。笑寬

參考下面

Excel怎樣查找圖片

❺ 請電腦編程高手指點下,我有很多圖片要重命名並且分別移動到相對應的文件夾下,怎麼批處理一鍵搞定呢

我們平時重命名文件,通常就是點擊右鍵,然後點擊重命名;或者用快捷鍵「F2」。使用方法非常簡單,但是如果遇到有很多文件需要重命名,一個個操作是很不明智的,我們可以才需批量重命名的方法。
案例:
通常,我們要為各式各樣的照片做下面這樣的工作。比如說,在科西嘉度假的時候你照了大量的數碼照片,而你的照相機偏偏將它們自動命名為DSCN0595.jpg、DSCN0596.jpg,等等。你肯定希望能把它們改成更加易認,好記的名字。你當然可以一個一個地把它們改成例如「我和朱莉在燈塔前.jpg」,「再一次在酒吧聚會.jpg」等等。但如果這些照片不燃缺是寥寥稿喚幾張的話,這樣做無疑會耗費掉大量的寶貴時間。相對較好的折中方案是將這些照片取名為「科西嘉2006-1.jpt」,「科西嘉2006-2.jpt」等等。
這里還有其他幾件事要注意。首先「取消重命名」在這里一次只能取消一個文件,而且只能用在最後命名的十個文件上。所以如果要重命名的文件數鍵段凱量多於十個,你最好在改名之前,先將照片在其他目錄做個備份。文件命名的順序依據屏幕上文件的顯示順序,也就是說如果瀏覽器中文件按日期倒序排列的,那麼重命名之後,第一個文件將會是日子最近的那個文件。又或者,你在右鍵點擊菜單的時候不是點擊第一個文件,而是點在了中間某個文件的話,那麼重命名將從這個文件開始,順序排到最後一個文件,然後再從第一個文件排下來。

這里需要注意的是,你必須為第一個文件指定一個擴展名,但是對於其他文件,重命名命令並不會影響到它們原有的擴展名。所以如果你的這些文件是不同類型混放的話,重命名只會修改文件名部分使之保持一致,而擴展名並不做改動。如果你覺得第一個文件名後面沒有編號很突兀,也可以將其命名為「科西嘉 2006(0).jpg」。你可以任意指定括弧中的起始編號,後面的重命名過程會自動從該編號開始順序排下去。