2015-12-28 51 views
0

我有一個非常具體的問題:我想在灰度圖像中繪製一個數字矩陣。數字越高,輸出越亮。有沒有辦法在C++程序中做到這一點,而不依賴於像Qt這樣的圖形庫?用C++繪製一個數字矩陣作爲圖像

我看了一下ImageMagick的一些例子,但我不確定如何在C++中實現它的功能。

回答 ,以防有人絆倒在這個問題: here所示的例子的修改後的代碼是一個方便和簡單的解決方案

+0

當然應該有辦法,但這個問題太廣泛了。如果你對某個特定的編程問題有疑問,那就問。 – NathanOliver

+0

如果它如此廣泛,爲什麼我找不到解決方案?任何代碼示例或有用的鏈接將是偉大的 – Jonas

+1

基本問題是,C++沒有圖像設施。圖像的數據結構各不相同(根據格式),因此需要一個庫。你可以隨時檢查你的操作系統,看它是否有繪製圖像的API。這樣你就不需要Qt或ImageMagik。 –

回答

1

很難沒有一個圖書館。 SFML似乎易於使用。

編輯

而且你有3個隱藏在你的問題其他問題:

1-爲了節省您可以使用sf::image::saveToFile

2〜變得更亮數量較大的數字圖像:您需要將您的號碼標準化爲[MinColorYouWant MaxColorYouWant](例如:[128,255])。因此,每個數字對應的標準化值將成爲數字的顏色。

3- SFML uses RGBA圖像默認情況下。只需設置RGB通道,使其看起來像灰度。

編輯2:我已經將示例規範化從[128,256]修復爲[128,255]。

+0

謝謝很多,這真的幫助了我。 – Jonas

+0

歡迎您:) – seleciii44