Ubuntu下使用Python實(shí)現(xiàn)游戲制作中的切分圖片功能
本文實(shí)例講述了Ubuntu下使用Python實(shí)現(xiàn)游戲制作中的切分圖片功能。分享給大家供大家參考,具體如下:
why

拿到一個(gè)人物行走的素材,要用TexturePacker打包。TexturePacker打包后,助于游戲加載圖片效率,且比較好管理。
目前得到一張整圖,無(wú)法直接導(dǎo)入到TexturePacker。
what
切片:使用切片將源圖像分成許多的功能區(qū)域。
how
1 ubuntu下圖片處理軟件 GIMP: 畫(huà)好參考線后, 點(diǎn)擊 濾鏡->WEB ->切片
2 python + PIL (pip install pillow 安裝)
第一種手動(dòng)太麻煩,不好精細(xì)自動(dòng)化操作。
采用第二種
# coding=utf-8
from PIL import Image
import os
def mkdir(path):
# 去除首位空格
path=path.strip()
# 去除尾部 \ 符號(hào)
path=path.rstrip("\\")
# 判斷路徑是否存在
# 存在 True
# 不存在 False
isExists=os.path.exists(path)
# 判斷結(jié)果
if not isExists:
# 如果不存在則創(chuàng)建目錄
print path+' 創(chuàng)建成功'
# 創(chuàng)建目錄操作函數(shù)
os.makedirs(path)
return True
else:
# 如果目錄存在則不創(chuàng)建,并提示目錄已存在
print path+' 目錄已存在'
return False
cnt = 0
imageName = 'mageStand.png'
pathName = 'mageStand'
img = Image.open(imageName)
ori_w,ori_h = img.size
row = 4
col = 4
for j in range(0, col):
Y = j*ori_h/col
Y_end = Y + ori_h/col
for i in range(0, row):
X = i*ori_w/row
X_end = X + ori_w/row
print X, X_end
if 8 == cnt:
pathName+="adv"
cnt = 0
mkdir(pathName)
fileName = '%s/a_%d.png' %(pathName, cnt)
img.crop((X, Y, X_end, Y_end)).save( fileName )
cnt+=1
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專(zhuān)題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門(mén)與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- 基于python實(shí)現(xiàn)對(duì)文件進(jìn)行切分行
- Python實(shí)現(xiàn)filter函數(shù)實(shí)現(xiàn)字符串切分
- Python 等分切分?jǐn)?shù)據(jù)及規(guī)則命名的實(shí)例代碼
- python按比例隨機(jī)切分?jǐn)?shù)據(jù)的實(shí)現(xiàn)
- Python 最大概率法進(jìn)行漢語(yǔ)切分的方法
- 分享Python切分字符串的一個(gè)不錯(cuò)方法
- python實(shí)現(xiàn)根據(jù)文件關(guān)鍵字進(jìn)行切分為多個(gè)文件的示例
- Python數(shù)據(jù)集切分實(shí)例
- 實(shí)例分析python3實(shí)現(xiàn)并發(fā)訪問(wèn)水平切分表
- python實(shí)現(xiàn)按行切分文本文件的方法
- Python自然語(yǔ)言處理之切分算法詳解
相關(guān)文章
Python fileinput模塊如何逐行讀取多個(gè)文件
這篇文章主要介紹了Python fileinput模塊如何逐行讀取多個(gè)文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
python3獲取當(dāng)前目錄的實(shí)現(xiàn)方法
這篇文章主要介紹了python3獲取當(dāng)前目錄的實(shí)現(xiàn)方法,文中給大家提到了python3獲取當(dāng)前目錄和上級(jí)目錄的方法,需要的朋友可以參考下2019-07-07
Pytorch使用CUDA流(CUDA?stream)的實(shí)現(xiàn)
本文主要介紹了Pytorch使用CUDA流(CUDA?stream)的實(shí)現(xiàn),CUDA流是在GPU上并行執(zhí)行操作的一種機(jī)制,通過(guò)使用CUDA流,可以將不同的操作分配給不同的流,在不同的流上并行執(zhí)行這些操作,從而提高代碼的性能2023-12-12
Python機(jī)器學(xué)習(xí)之預(yù)測(cè)黃金價(jià)格
這篇文章主要介紹了如何使用機(jī)器學(xué)習(xí)方法來(lái)預(yù)測(cè)最重要的貴金屬之一黃金的價(jià)格,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以試一試2022-01-01
零基礎(chǔ)寫(xiě)python爬蟲(chóng)之urllib2使用指南
urllib2是Python的一個(gè)獲取URLs(Uniform Resource Locators)的組件。他以u(píng)rlopen函數(shù)的形式提供了一個(gè)非常簡(jiǎn)單的接口,下面我們用實(shí)例講解他的使用方法2014-11-11
python網(wǎng)絡(luò)爬蟲(chóng)基于selenium爬取斗魚(yú)直播信息
目前是直播行業(yè)的一個(gè)爆發(fā)期,由于國(guó)家對(duì)直播行業(yè)進(jìn)行整頓和規(guī)范,現(xiàn)在整個(gè)直播行業(yè)也在穩(wěn)固發(fā)展。隨著互聯(lián)網(wǎng)和網(wǎng)絡(luò)直播市場(chǎng)的快速發(fā)展,相信未來(lái)還有廣闊的發(fā)展前景。今天用selenium爬取一下斗魚(yú)直播信息將代碼分享給大家2022-03-03
Python中operator模塊的操作符使用示例總結(jié)
operator模塊中包含了Python的各種內(nèi)置操作符,諸如邏輯、比較、計(jì)算等,這里我們針對(duì)一些常用的操作符來(lái)作一個(gè)Python中operator模塊的操作符使用示例總結(jié):2016-06-06
Python之tkinter面板PanedWindow的使用
這篇文章主要介紹了Python之tkinter面板PanedWindow的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
如何使用PyTorch優(yōu)化一個(gè)邊緣檢測(cè)器
這篇文章主要給大家介紹了關(guān)于如何使用PyTorch優(yōu)化一個(gè)邊緣檢測(cè)器的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-09-09

