2010-06-29 66 views
2

全部問候, 我目前是一名正在崛起的二年級(CS專業),而今年夏天,我試圖自學C++(我的學校代碼主要在Java中)。 我已經閱讀了很多關於C++的指南,並且介紹了流,保存和編輯.txt文件。 現在,我感興趣的是簡單地導入一個圖像(JPEG,位圖,不是很重要),並重命名上述圖像。 我用Google搜索了一下,但是無濟於事。 這個過程是否可能沒有外部庫的下載(我失去CImg)? 如何加快我的目標任何提示或技巧將不勝感激C++導入和重命名/重新保存圖像

+0

爲此使用庫。根據文件規格書寫JPEG閱讀器並不重要。如果你可以使用任何格式,那麼TGA很容易。 – stinky472 2010-06-29 03:22:12

回答

2

重命名圖像通常與重命名任何其他文件大致相同。

如果您想要做的比這更多,您還可以更改IPTC metadata的標題字段中的數據。這是而不是需要JPEG解碼或類似的東西 - 你需要知道文件格式,以便能夠找到IPTC元數據,並且足夠好地研究IPTC格式以找到Title字段,但這是關於所有。具體如何到達IPTC元數據將有所不同 - 導航TIFF(例如)需要大量代碼。

0

這可能沒有庫 - 你只需要圖像規格和'C',問題是爲什麼?

Targa或bmp可能是最簡單的,它只是一個標題和圖像數據作爲值的二進制塊。
Gif,jpeg和png更復雜 - 數據被壓縮

1

當你說「重命名上述圖像」時,你的意思是在圖像文件中更改元數據,或者只是更改文件名?如果您指的是元數據,那麼您需要了解文件格式或使用理解文件格式的庫。每種圖像文件都會有所不同。如果您基本上只想複製文件,則可以將內容從一個文件流傳輸到另一個文件流,或者使用文件系統API。

std::ifstream infs("input.txt", std::ios::binary); 
std::ofstream outfs("output.txt", std::ios::binary); 
outfs << insfs.rdbuf(); 

文件系統API的一個例子是Win32上的CopyFile。