是否可以通過逐個像素地迭代並設置每個像素的RGB值來創建一個新的tif?使用LibTiff逐像素寫入tif?
讓我解釋我正在嘗試做什麼。我試圖打開一個現有的tif,使用TIFFReadRGBAImage
讀取它,採用TIFFGetR
/TIFFGetG
/TIFFGetB
給出的RGB值,從255中減去它們,取這些新值並用它們逐個寫入每個像素。最後,我想結束原始圖像和一個新的「補充」圖像,這將成爲原始圖像的負面影像。
有沒有辦法使用LibTiff來做到這一點?我已經瀏覽了文檔並搜索了Google,但是我只看到很短的代碼示例TIFFWriteScanline
,它們提供了很少的代碼/上下文/註釋,我無法弄清楚如何以我想要的方式實現它它工作。
我對編程還是比較陌生的,所以如果有人可以請我指出一個有大量解釋性評論的完整例子,或者直接用我的代碼幫助我,我將非常感激。感謝您花時間閱讀本文並幫助我學習。
我有什麼至今:
// Other unrelated code here...
//Invert color values and write to new image file
for (e = height - 1; e != -1; e--)
{
for (c = 0; c < width; c++)
{
red = TIFFGetR(raster[c]);
newRed = 255 - red;
green = TIFFGetG(raster[c]);
newGreen = 255 - green;
blue = TIFFGetB(raster[c]);
newBlue = 255 - blue;
// What to do next? Is this feasible?
}
}
// Other unrelated code here...
Full code如果你需要它。
自從我寫了tiff代碼以來已經有一段時間了,但您可以毫無困難地手動構建圖像。除非你知道所有的資料來源都是一種格式,否則一定要注意不同的格式,壓縮,單獨的平面等。對於'接下來做什麼',建立一個完整的圖像行,然後使用TIFFWriteScanline(....)。 –
@johnelemans好的,謝謝。關於如何使用RGB值創建線條的任何指導? – Aizenmyouou