我想將一些Delphi代碼轉換爲Python PIL。問題是兩個方面。首先,我不是Delphi程序員。其次,今天之前我還沒有使用PIL,所以我可能在任何一個領域都有問題。Delphi TBitmap代碼到Python PIL
case PixelFormat of
pf32bit: PixSize:=4;
pf24bit: PixSize:=3;
pf16bit: PixSize:=2;
end;
BitCounter:=0;
for i:=0 to Height-1 do begin
Row:=ScanLine[i];
PB:[email protected][PixSize-1];
for j:=0 to Width-1 do begin
Ch[BitCounter] := (PB^ and 1);
....
inc(BitCounter);
inc(PB, PixSize);
end;
所以我得到PixelFormat屬性表示每個像素的字節大小。我也知道ScanLine方法應該得到一個表示線條的像素數組。我沒有得到的是我傾向於將每個像素視爲RGB值。我習慣於提取顏色值的最低有效位。但是,我不認爲我甚至不知道現有的代碼正在提取什麼。我有一些Python PIL代碼可以提取同一圖像中每個像素的RGB值,但我不知道RGB值的元組如何與前面代碼中獲得的PB變量進行比較。根據一些實驗,我猜測它根本沒有比較。
在此先感謝。
你的問題歸結爲「從哪個通道是最高有效字節的最低有效位」。這是明確的,但我不能理解爲什麼這些信息會有用。您何時想知道紅色通道值是否爲奇數? –
@David,這篇文章的代碼太奇怪了,我不得不穀歌。它將用於['steganography'](http://itte.no/delphi/Steganography.htm),因爲這篇文章的代碼是相同的。 user1641230,您可以在我在此評論中鏈接的頁面上找到答案。無論如何,有趣的技術...... – TLama
@TLama,你是對的,它是用來檢測隱寫的。 – user1641230