我想知道是否有任何好的教程或關於加載,創建和編輯C++位圖的書。我需要逐個像素地編輯位圖,但沒有一個教程沒有顯示如何。我想了解位圖「工作」和維基百科有何幫助。在C++中編輯位圖
回答
如果你想操縱像素級別的位圖,那麼你應該開始學習圖像處理,然後閱讀一些關於位圖文件格式的內容。這不是一個C++問題。 C++在這樣的任務中只是錦上添花。
在這裏,你可以找到關於圖像處理的一些講座: http://www.archive.org/details/Lectures_on_Image_Processing
這裏是BMP格式的文件的描述: http://www.fileformat.info/format/bmp/spec/e27073c25463436f8a64fa789c886d9c/view.htm
你可以很容易找到很多來源爲其他格式,以及。祝你好運,我在大學三年來一直在研究這個話題......我認爲你應該像David Grayson所建議的那樣,使用一些開源庫。
我一直在研究BMP的過去2天,但我真正需要做的是從每個像素讀取R,G和B顏色值,以便稍後使用它們。我需要使矩陣是m * n,其中m是圖像的寬度和n高度,並在每個元素中存儲顏色值..我無法弄清楚如何去做 – Transcendental 2012-02-05 15:03:24
在哪個平臺上? – vitakot 2012-02-05 16:01:46
在Windows 7 ... – Transcendental 2012-02-05 17:31:21
我假設你已經搜索了Google,並沒有發現任何好的東西。
如果我是你,我會首先了解位圖的二進制格式。您可以通過閱讀規範和/或使用十六進制編輯器(如WinHex或ghex2)查看位圖文件來了解它。
然後我會學習如何讀取文件並使用C++中的二進制數據。
不過說真的,你或許可以節省大量的努力,如果你只是使用Magick ++庫:
如果要編輯位圖,你只需要瞭解你要編輯的格式。每個組件有多少位,每個像素有多少個組件,定義的寬度和高度在哪裏,以及這些格式文件的標準是什麼。如果你想使用流行的BMP,你可以在Wikipedia找到所有這一切。
如果這一切對你沒什麼意義,那麼你應該首先嚐試數字圖像處理教程。
圖像只是一個結構(像素)的數組,每個都有一定數量的組件,您只需讀寫所述數組即可完成您想要的任何版本。但要注意的是,雖然常見的作物和像素替換幾乎是微不足道的,但高級版本和改變不是。
- 1. 在Android 2.3中編輯位圖
- 2. 在Android中動態位圖編輯
- 3. 在C#中裁剪和編輯圖像
- 4. 圖標編輯器位置
- 5. 編輯8bpp索引位圖
- 6. WPF位圖編輯器
- 7. C++讀取和編輯位圖圖像的像素
- 8. 編輯圖像源C#
- 9. 用C編輯圖像#
- 10. 編輯到位
- 11. 在Photoshop中編輯圖像
- 12. 在java中編輯圖像
- 13. 在php中編輯圖像
- 14. 如何創建和編輯位圖
- 15. 編輯視頻以嵌入位圖
- 16. C中的按位邏輯
- 17. 如何在Windows 7中使用C#編輯位於C:\ program files中的文件?
- 18. 如何在Android的編輯框中顯示位圖
- 19. 如何在C#中編輯類似編輯的字符串?
- 20. 位圖剪輯?
- 21. 如何在C++透視圖中編輯eclipse中的python文件?
- 22. 在Obj-c編輯NBT
- 23. 在C#編輯ODC文件
- 24. 在Winforms編輯Appsettings C#
- 25. 在gridview的行編輯C#
- 26. 在C編輯Word模板#
- 27. 如何在Sitecore體驗編輯器中顯示「編輯圖像」?
- 28. 在C++中打開位圖
- 29. 在GridView ASP.NET C中編輯ASP按鈕#
- 30. 使在pdf中可編輯的pdf C#
太寬泛的一個問題 – BitBank 2012-02-04 20:28:32
你看過[「使用C++讀取和寫入BMP文件的最簡單方法」] [1]嗎? [1]:http://stackoverflow.com/q/199403/6294 – Maggie 2012-02-04 20:31:29
@ user1183602: 「位圖」 可以是模糊的術語。你在談論以「.bmp」結尾的文件嗎?或只是在內存中的圖像?或者是其他東西? – 2012-02-04 20:35:44