2009-08-31 56 views
9

對於軟件開發,通常需要圖像。但是,當我開始在圖像上工作,我很快結束了幾十個版本,像這樣如何在軟件開發過程中處理圖像

  • 開始用一個漂亮的大尺度圖片,讓我們說從我的相機中的照片(x.nef)
  • 我對曝光校正和白平衡進行一些調整,將其轉換爲x.jpg
  • 開始添加一些小東西,通過複製兩個其他圖像的各種片段。 (A.JPG,B.JPG導致分層圖像x.pdn
  • 現在我將其縮放到所需的大小,並將其保存爲x_small.jpg

通過我現在已經6個不同的圖像文件左右浮動和任何人,但我知道他們背後的過程

所以,問題是:?你如何在發展過程中處理圖像

編輯: THX所有偉大的輸入結合我的各種問題,以我的有個人最好的答案,但我接受了jiinx0r的回答,因爲它確實包含了缺少的想法我爲所做的更改應用命名約定。

+0

我真的不認爲這是一個規劃問題,不好意思。投票結束。我建議你在DocType或超級用戶上按照SO常見問題解答這個問題。 – 2009-08-31 18:50:01

+0

這不是編寫代碼,但是當您在網站上工作時,它會出現在開發過程中。我當然在那裏。 – 2009-08-31 18:56:09

+0

編寫遊戲時,作品是您代碼中最重要的部分。 – 2009-08-31 19:00:01

回答

4

文件命名應通過命名約定來處理。

{name}-{mod type}-{size}-{version}-{create date}.png 
{name}-final.png 

e.g. 
file-white_balance-800x600-v01-20090831.png 
file-white_balance-800x600-v02-20090831.png 
file-final.jpg 

真正的問題是建立在約定的人看到(你組然而簡單/複雜的是必要的),在下面的值 商定。在我的組織,我們做這個輸入/輸出數據文件,圖片,腳本等(不一定都是一樣的約定,但他們遵循的東西,是在同意)

希望有所幫助。

+0

很傷心,不是嗎? VAX文件系統每個文件有多個版本,大型機可以做到這一點。 Windows和Linux不能。蘋果將​​其作爲「新功能」銷售。有太多的文件格式可以真正受益於自動版本文件的文件系統...... :( – 2009-08-31 18:59:04

1

我們通常會在名稱中附加圖像標題和分辨率。

myimage_800_600.png 

這種方式,所有類似的圖像都必須在文件夾視圖組合在一起,並可以方便地選擇你想要的大小,而不必徘徊什麼「中等」的意思。

6

你可以把你的圖像放在源代碼管理下。

這將處理修訂歷史記錄和備註。如果您確實需要保留圖片的所有過渡版本,並且不想將其放在項目文件夾中,那麼大多數源代碼管理樹會爲這種類型的東西提供「工具」區域。

編輯: 如果你正在後保持各種尺寸(縮略圖等)的軌跡,我會約定優於配置去實現一個統一的文件(或目錄)命名系統。

例如,我可能會爲同一圖像的100像素和500像素版本設置單獨的文件夾。或者,也許我會把它們放在具有特殊命名約定的相同文件夾中:logo-100.jpg和logo-500.jpg ......無論哪種方式都可能很好,只需做出決定並確保在整個項目中保持一致。

最後一個想法:有些人喜歡在文件名中包含大量的元數據。對我而言,這取決於您的操作範圍和您的個人需求。我個人默認採用更少的方法 - 如果您想要投資維護這樣的東西(或爲您創建一個工具),請確保它實際上是時間的淨收益,而不僅僅是爲了你的強迫症過濾!

作爲開發者,我們確實傾向於在這個領域犯下明顯的錯誤。我知道我很多時候都很內疚。

+1

如果你需要相同的圖像,但在整個應用程序中需要不同的尺寸(例如縮略圖) – 2009-08-31 18:44:19

+0

我認爲這樣做不會起作用。好的想法,我爲它添加了一個編輯以防萬一他是這麼做的。 – 2009-08-31 18:50:45

3

我努力只有一個「源」的形象,然後倒入所有更改成短的Python腳本或者一些其他的代碼,這樣我可以重新創建效果和/或稍後調整他們的任何時間。

原始圖像被保存或者作爲PNG或TIFF(以避免由於保存質量損失),並轉化成最終類型作爲最後一步。那也是我做縮放和其他有損操作的時候。

+0

你使用python'遠程控制'圖像處理程序嗎?或者你使用python來實際執行圖像處理? – 2009-09-02 17:28:22

+0

我正在使用PIL(pyhon圖像庫)。 – 2009-09-16 07:22:47

2

我們開發了一種可下載和網絡遊戲有幾百圖形資源,其中大部分的研發過程中被保存爲PSD文件。我們需要jpg和png版本的遊戲發佈版以及較低質量的jpg和png版本。

我們檢查了原件到源控制處理版本。

爲了保持靈活性,並能夠改變原有的,而不必每次更新後兩次重新包裝的形象,我們有一個Perl/ImageMagick的腳本,它會自動更新包裝的圖像。

文件名保持不變,但壓縮圖像會去到不同的目錄,這取決於遊戲中的每個圖像擠滿了哪個版本。

1

我同意源控制可能是你最好的選擇。然而,傳統的源代碼控制並不適合圖像。

你有沒有看着http://www.alienbrain.com

這是商業的,但可能會有所幫助。我也在尋找並看到一些關於Photoshop或Imageready的版本控制。你可以看看。

+0

很高興知道有工具可以幫助解決這個問題,儘管它對於我正在考慮的用法來說是昂貴的。 – 2009-09-02 17:26:39

0

我把所有的點點滴滴一起從不同的答案,因爲這符合我的需求的系統:

  1. 圖片進入源代碼控制。這包括圖像或中間步驟。
  2. 如果基於一個源圖像需要多個圖像,但具有不同的轉換,這可以集成到自動構建中(縮放,壓縮,着色)
  3. 基於命名約定或文件夾結構,文件可以分爲:源(例如原始照片),中間體(用於各種處理步驟),基站
  4. 對於處理步驟(即在軟件或在步驟2中實際使用的可能的自動處理之後作爲一個圖像),命名約定應確保處理的種類可以被識別,也可以是步驟的順序。所以人們可以通過各種處理步驟從源圖像移動到最終圖像。