2010-09-16 45 views

回答

1

如果你知道y軸的比例,應該是可以的。

要進行屏幕截圖,您可以首先使用每個系列的濾鏡過濾圖像。 第二步是收集臨時圖像中所有剩餘像素的座標,並將它們轉換爲所需的比例尺。

給出

  • 在座標x的像素,Y
  • 在圖像像素X偏移圖表原點的偏移量,Y偏移
  • 的你規模圖表軸的XScale,yscale

你可以計算出這個像素的數據(僞代碼)

pixelData.x := (x - xoffset) * xscale 
pixeldata.y := (y - yoffset) * yscale 

然後,如果您的系列線寬度超過一個像素,則進行一些插值(例如,獲取單列左右所有像素的平均數據)。

UPDATE1:僞幼稚彩色濾光片過濾掉紅色圖表

//set up desired color levels to filter out 
redmin := 240; 
redmax := 255 
bluemin := 0; 
bluemax := 0; 
greenmin := 0 
greenmax := 0; 

//load source bitmap 
myBitmap := LoadBitmap("Chartfile.bmp"); 

//loop over bitmap pixels 
for iX := 0 to myBitmap.width-1 do 
    for iY := 0 myBitmap.height-1 do 
    begin 
     myColorVal := myBitmap.GetPixels(iX, iY); 
     //if the pixel color is inside your target color range, store it 
     if ((mycolorVal.r >=redmin) and (myColorVal.r <= redmax)) and 
     ((mycolorVal.g >=greenmin) and (myColorVal.g <= greenmax)) and 
     ((mycolorVal.b >=bluemin) and (myColorVal.b <= bluemax)) then 
     storeDataValue(iX, iY); //performs the value scaling operation mentioned above 
    end; 
+0

你有如何使用彩色濾光片任何代碼的例子嗎? – PerlDev 2010-09-16 17:18:34

相關問題